1
我已經實現如下的存儲過程,但我得到當我嘗試將其應用於以下錯誤信息:存儲過程的錯誤消息
ERROR 1064(42000):你在你的SQL語法錯誤;檢查與您的MySQL服務器版本相對應的手冊,以便在'WHERE symbol_id = id GROUP BY symbol_id;
我做了一些調試,發現它是由@max變量引起的,我試圖將結果寫入,但是我沒有看到任何語法錯誤,任何人都可以請指教?
DROP PROCEDURE IF EXISTS `GENERATE_REPORT`;
DELIMITER $$
CREATE DEFINER=CURRENT_USER PROCEDURE `GENERATE_REPORT`()
BEGIN
DECLARE id INT;
DECLARE max INT;
DECLARE at_end BIT DEFAULT 0;
DECLARE cur CURSOR
FOR SELECT symbol_id from trade;
DECLARE CONTINUE HANDLER
FOR SQLSTATE '02000' SET at_end=1;
OPEN cur;
FETCH cur INTO id;
WHILE (NOT at_end) DO
SELECT SUM(quantity) FROM trade INTO **@max** WHERE symbol_id = id GROUP BY symbol_id;
FETCH cur into id;
END WHILE;
CLOSE cur;
END
$$ DELIMITER;
啊啊啊!我一直在看它2個小時,看不到!謝謝 :) – godzilla