mysql 存储过程需要DELIMITER

mac2022-06-30  66

DELIMITER &&CREATE PROCEDURE syncAdvertiser()  BEGIN     DECLARE id bigint;     DECLARE _cur CURSOR FOR SELECT id from advertisers;     OPEN _cur;       REPEAT         FETCH _cur INTO id;         SQL       UNTIL 1>0 END REPEAT;     CLOSE _cur;  END;DELIMITER ;

 

需要注意的是DELIMITER &&DELIMITER ;两句,DELIMITER是分割符的意思,因为MySQL默认以";"为分隔符,如果我们没有声明分割符,那么编译器会把存储过程当成SQL语句进行处理,则存储过程的编译过程会报错,所以要事先用DELIMITER关键字申明当前段分隔符,这样MySQL才会将";"当做存储过程中的代码,不会执行这些代码,用完了之后要把分隔符还原。

转载于:https://www.cnblogs.com/yako/p/4612878.html

相关资源:垃圾分类数据集及代码
最新回复(0)