可以用 CONCAT把查詢語言與變量連接起來再執行,參考如下代碼。
DELIMITER //
CREATE PROCEDURE GetItems()
BEGIN
SELECT @total := count(id) FROM items;
SET @sql = CONCAT('SELECT id, title FROM items LIMIT 0,', CEIL(@toal/2));
PREPARE stmt FROM @sql;
EXECUTE stmt;
END //
DELIMITER ;