Có lý do gì khiến một thủ tục đã lưu trữ không thể được sử dụng để tạo một câu lệnh chuẩn bị không?
DELIMITER //
DROP PROCEDURE IF EXISTS rand_quote//
CREATE PROCEDURE rand_quote()
BEGIN
SET @rand := ROUND((SELECT COUNT(*) FROM quotes) * RAND());
SET @sql := CONCAT('SELECT * FROM quotes LIMIT ', @rand, ', 1');
PREPARE stmt FROM @sql;
EXECUTE stmt;
DEALLOCATE PREPARE stmt;
END;
//
DELIMITER ;