剛才試圖搞mysql的存儲過程,被郁悶了一回,最簡單的存儲過程,只要加上begin 和end就有莫名其妙的錯誤。
比如
CREATE PROCEDURE p()
BEGIN
SELECT * FROM T;
END;
夠簡單了吧?就是報錯,其實是分號的問題,說的正規點叫分隔符。
應該這樣
1. delimiter //
2. CREATE PROCEDURE p()
3. BEGIN
4. SELECT * FROM T;
5. END//
6.
7. delimiter ;
第一行把分隔符改成雙杠,這樣到中間 FROM T的時候mysql不會認為SQL命令已經結束了;
第七行把分隔符再改回來,不然以后不習慣。
比如
CREATE PROCEDURE p()
BEGIN
SELECT * FROM T;
END;
夠簡單了吧?就是報錯,其實是分號的問題,說的正規點叫分隔符。
應該這樣
1. delimiter //
2. CREATE PROCEDURE p()
3. BEGIN
4. SELECT * FROM T;
5. END//
6.
7. delimiter ;
第一行把分隔符改成雙杠,這樣到中間 FROM T的時候mysql不會認為SQL命令已經結束了;
第七行把分隔符再改回來,不然以后不習慣。