mysql存储过程报错ERROR 1064

查阅资料发现:
引用:https://blog.csdn.net/ws379374000/article/details/78285607
原因:Mysql解释器一遇到;号时就结束,回车以后就执行了。但是现在并不希望Mysql这么做,因为存储过程中可能 包含很多分号的语句。
解决方式:Mysql给我们提供了delimiter关键字,delimiter作用就是把;分号替换成指定的符号,比如//或$$。当再出现//或$$时,Mysql解释器才会执行命令。
DELIMITER $$ CREATE DEFINER=`root`@`%` PROCEDURE `Pro_ColumnWork`(TableName VARCHAR(50),ColumnName VARCHAR(50),CType INT,SqlStr VARCHAR(4000)) BEGIN DECLARE Rows1 INT; SET Rows1=0; ...... EXECUTE stmt1; END IF; END $$ DELIMITER ;


浙公网安备 33010602011771号