MySQL儲存過程

2021-10-23 20:15:36 字數 1472 閱讀 8129

●從 5.0 版本才開始支援

●是一組為了完成特定功能的sql語句集合(封裝)

●比傳統sql速度更快、執行效率更高

●儲存過程的優點

執行一次後,會將生成的二進位制**駐留緩衝區(便於下次執行),提高執行效率

sql語句加上控制語句的集合,靈活性高

在伺服器端儲存,客戶端呼叫時,降低網路負載

可多次重複被呼叫,可隨時修改,不影響客戶端呼叫

可完成所有的資料庫操作,也可控制資料庫的資訊訪問許可權

●為什麼要用儲存過程?

1.減輕網路負載;2.增加安全性

●使用create procedure語句建立儲存過程

●引數分為

輸入引數:in

輸出引數:out

輸入/輸出引數:inout

●儲存過程的主體部分,被稱為過程體;以begin開始,以end$$結束

●具體格式

delimiter $$

create procedure 儲存過程名(in 引數名 引數型別)

begin

#定義變數

declare 變數名 變數型別

#變數賦值

set 變數名 = 值

sql 語句1;

sql 語句2;

...end$$

delimiter ;(有空格)

call 儲存過程名(實際引數);
show procedure status where db='資料庫';

drop procedure 儲存過程名;

儲存過程的修改分為特徵的修改和業務內容的修改。

特徵的修改語法結構如下:

alter procedure 儲存過程名 [ 《特徵》 … ]
儲存過程內容的修改方法是通過刪除原有儲存過程,之後再以相同的名稱建立新的儲存 過程。

儲存過程中只加入了一條select語句:

根據呼叫儲存過程輸入的實際引數進行查詢:

根據呼叫儲存過程輸入的實際引數進行判斷,對zhangsan使用者的level欄位和hobby欄位進行修改:

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語句加上控制語句的集合,靈活性高 在伺服器端儲存,客戶端呼叫時,降低網路負載 可多次重複被呼叫,可隨時修改,不影響客戶端呼叫...