[英]MySQL Error 1064 on Stored Procedure Definition
我是MySQL程序的新手。 我只是试图在数据集上运行一个游标,然后为每一行运行一个不同的过程(我碰巧知道它的工作原理)。 我在下面的第三行中收到错误代码1064:
CREATE PROCEDURE `safecycle`.`sp_aggregateAllPORDaily` ()
BEGIN
DECLARE done INT DEFAULT FALSE;
DECLARE porID SMALLINT UNSIGNED;
DECLARE cur1 CURSOR FOR SELECT ID FROM point_of_recycle;
DECLARE CONTINUE HANDLER FOR NOT FOUND SET done = TRUE;
OPEN cur1;
read_loop: LOOP
FETCH cur1 INTO porID;
IF done THEN
LEAVE read_loop;
END IF;
CALL sp_aggregatePORDaily(porID);
END LOOP;
CLOSE cur1;
END
我将头撞在墙上已经有一段时间了,非常感谢您的帮助。
您尚未更改定界符,因此第一个;
遇到终止整个语句。
DELIMITER $$
CREATE PROCEDURE
blah blah blah
END$$
DELIMITER ;
通过以这种方式更改定界符,您可以安全地定义您的多语句过程,并嵌入法线;
在其中,然后以'new'分隔符结束create语句。 之后,您将还原标准定界符并照常进行。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.