第一個MYSQL儲存過程以及其中遇到的空格問題
最近寫了一個mysql儲存過程,遇到了一個極其奇怪的問題,提示如下:
[Err] 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 'SET I = I+1;
END WHILE;
END' at line 7
後來經過一些列排查,發現是因為while do後面多了幾個空格,但是為什麼空格會使sql報錯,至今未解。
錯誤程式:
WHILE I < 200 DO
SET I = I+1;
END WHILE;
正確程式:
WHILE I < 200 DO
SET I = I+1;
END WHILE;
兩者的區別就是前者DO後面多了幾個空格,有懂得大神請給我留言哦。
下面附上我的第一個儲存過程程式碼:
DELIMITER $$
DROP PROCEDURE IF EXISTS MYpro$$
CREATE PROCEDURE MYpro()
BEGIN
declare i int ;
declare dayString varchar(20);
declare beforeDay varchar(20);
set dayString ='';
set beforeDay='';
SET I = 0;
WHILE I < 200 DO
/*業務程式碼*/
SET I = I+1;
END WHILE;
END$$
DELIMITER ;