格式为
CREATE PROCEDURE methodName()
BEGIN
/*一系列sql语句*/
END
DELIMITER;
具体意思不解释了,说下问题,这句话中我确定sql语句正确但是执行的时候存储过程能建立但是会报错,为
(0 row(s) affected)
Execution Time : 00:00:00:000
Transfer Time : 00:00:01:233
Total Time : 00:00:01:233
错误码: 1064
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'DELIMITER' at line 1
经过排查发现原来最下面一行的DELIMITER后面必须加上空格才不会报错,正确的格式为:
CREATE PROCEDURE methodName()
BEGIN
/*一系列sql语句*/
END
DELIMITER ; /*这里DELIMITER与分号之间有空格*/
具体不知道为何上面的DELIMITER和//之间不需要加空格,下面的却要加求教~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
总结:
1.创建一个存储过程并非把存储过程中的代码事先执行一遍,存储过程不检查sql语句的正确性但是每句sql后面必须加上;否则报错不执行
2.若不在delimiter与;之间加上空格,存储过程还能执行并存入,只是会报错~