格式爲
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與;之間加上空格,存儲過程還能執行並存入,只是會報錯~