MySql儲存過程

2021-09-22 02:47:45 字數 1249 閱讀 4868

在做專案時,需要用到mysql的儲存過程,總結如下:

mysql> delimiter //

mysql> create procedure ******proc (out param1 int)

-> begin

-> select count(*) into param1 from t;

-> end

-> //

query ok, 0 rows affected (0.00 sec)

還是挺簡單的,那麼這個儲存過程如何呼叫呢?

mysql> delimiter ;

mysql中delimiter的作用是什麼?

這個命令與儲存過程沒什麼關係吧。

其實就是告訴mysql直譯器,該段命令是否已經結束了,mysql是否可以執行了。

預設情況下,delimiter是分號;。在命令列客戶端中,如果有一行命令以分號結束,

那麼回車後,mysql將會執行該命令。如輸入下面的語句

mysql> select * from test_table;

然後回車,那麼mysql將立即執行該語句。

但有時候,不希望mysql這麼做。在為可能輸入較多的語句,且語句中包含有分號。

預設情況下,不可能等到使用者把這些語句全部輸入完之後,再執行整段語句。

因為mysql一遇到分號,它就要自動執行。

這種情況下,就需要事先把delimiter換成其它符號,如//或$$。

等儲存過程執行完之後,再轉換回;就可以了

mysql>  call ******proc(@a); 

query ok, 0 rows affected (0.01 sec)

mysql>  select @a; 

+------+

| @a   |

+------+

|  317 |

+------+

1 row in set (0.00 sec)

mysql> select count(*) from ps_consume_record_00_00;

+----------+

| count(*) |

+----------+

|      317 |

+----------+

1 row in set (0.00 sec)

還是很簡單的。呵呵。以下是我測試往個人版插入測試資料的乙個儲存過程,很簡單,供參考。

drop procedure batchinsert;

mysql儲存過程 MySQL儲存過程

在本節中,您將逐步學習如何在mysql中編寫和開發儲存過程。首先,我們向您介紹儲存過程的概念,並討論何時使用它。然後,展示如何使用過程 的基本元素,如建立儲存過程的語句,if else,case,loop,儲存過程的引數。下面每個教程都包含了易於理解的示例和詳細的說明。如果您瀏覽並學習所有教程,您可...

mysql 儲存過程 mysql 儲存過程

建立 為建立儲存過程的結束標誌,使用delimiter 可更改標誌 格式create procedure begin sqlend create procedure myprocedure in param integer begin select from tb role where tb rol...

mysql 儲存過程 MySQL儲存過程

目錄 儲存過程 簡介是一組為了完成特定功能的sql語句集合 比傳統sql速度更快 執行效率更高 儲存過程的優點 執行一次後,會將生成的二進位制 駐留緩衝區,提高執行效率 sql語句加上控制語句的集合,靈活性高 在伺服器端儲存,客戶端呼叫時,降低網路負載 可多次重複被呼叫,可隨時修改,不影響客戶端呼叫...