發佈生產環境存儲過程分號結束SQL問題

1、總所周知,mysql的命令行執行每一條命令是以分號結尾的,也就是說識別是否爲一條命令,是根據分號決定的。

       然而存儲過程中設計多條語句,很可能出現多個分號,所以直接把存儲過程複製到命令號一般都會失敗

 

2、解決方法是需要加一個分隔符,讓命令行知道整個存儲過程的代碼是完整的一塊代碼,代碼如下

 

[sql] view plain copy

  1. DELIMITER //     
  2. CREATE PROCEDURE p_name (IN b INTEGER(12))     
  3. begin     
  4.  declare a INTEGER(12);     
  5.  set a=12;     
  6.  INSERT INTO t VALUES (a);     
  7.  SELECT s1* a FROM t;     
  8. End     
  9. //    

 

3、如代碼中所示,在存儲過程的開頭加上“DELIMITER //”,結尾加上“//”就ok了

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章