我的代码存在语法错误,该代码向表中添加了 1000 条随机记录。\
CREATE PROCEDURE addrecords()
BEGIN
DECLARE a INT Default 1;
my_loop: LOOP
<INSERTING>
SET a = a + 1;
IF a=1001 THEN
LEAVE my_loop;
END IF;
END LOOP my_loop;
END
第一个语法错误默认为 1,表示缺少分号,然后在 my_loop 处,还有大约 4 个错误。请问有什么帮助吗?从我谷歌搜索到的内容看来不错。
最佳答案
您需要在定义语句之前更改分隔符:
DELIMITER $$
CREATE PROCEDURE addrecords()
BEGIN
DECLARE a INT Default 1;
my_loop: LOOP
<INSERTING>
SET a = a + 1;
IF a=1001 THEN
LEAVE my_loop;
END IF;
END LOOP my_loop;
END
$$
否则,;
将结束整个CREATE PROCEDURE
语句。
关于Mysql循环错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27039001/