mysql 儲存過程 MySQL儲存過程

2021-10-22 03:55:20 字數 3896 閱讀 5322

目錄

儲存過程

簡介是一組為了完成特定功能的sql語句集合

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

儲存過程的優點

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

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

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

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

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

注:要建立儲存過程,必須要具有create routine許可權。

儲存過程的優點

儲存過程執行一次後,生成的二進位制**就駐留在緩衝區,之後如果再次呼叫的話,將直接呼叫二進位制**,使得儲存過程的執行效率和效能得到大幅提公升。

儲存過程是sql語句加上控制語句的集合,有很強的靈活性,可以完成複雜的運算。

儲存過程儲存在伺服器端,客戶端呼叫時,直接在伺服器端執行,客戶端只是傳輸的調﹑用語句,從而可以降低網路負載。

儲存過程被建立後,可以多次重複呼叫,它將多條sql封裝到了一起,可隨時針對sql.語句進行修改,不影響呼叫它的客戶端。

儲存過程可以完成所有的資料庫操作,也可以通過程式設計的方式控制資料庫的資訊訪問許可權。

建立儲存過程

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

建立儲存過程的語法結構

create procedure([過程引數[....]]) //盡量避免與內建的函式或字段重名

[過程引數[....]]格式

[in|out|inout ]

引數分為

輸入引數:in

輸出引數:out

輸入/輸出引數: inout

儲存過程的主體部分,被稱為過程體

以begin開始,以end結束,若只有一條sql語句,則可以省略begin-end

以delimiter開始和結束

mysql> delimiter$$ //$$是使用者自定義的結束符

//省略儲存過程其他步驟

mysql> delimiter ; //分號前有空格

示例:建立儲存過程

修改結束符

mysql> delimiter //

mysql> show databases //

| database |

| information_schema |

| aaa |

| auth |

| mysql |

| performance_schema |

| sys |

6 rows in set (0.00 sec)

//:成為結束符

不帶引數的儲存過程

帶引數的儲存過程

修改儲存過程

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

特徵修改的方法

alter procedure[...]

內容修改可先刪除原有儲存過程,之後再建立的方法

示例:修改儲存過程

刪除儲存體

mysql> drop procedure c2;

query ok, 0 rows affected (0.00 sec)

mysql> call c2();

error 1305 (42000): procedure aaa.c2 does not exist //查詢無果,因c2被刪除

專案:in、out、inout區別

總結in和inout引數會將全域性變數的值傳入儲存過程中,而out引數不會將全域性變數的值傳入儲存過程中。在儲存過程使用中,引數值in、out、inout都會發生改變。

呼叫完儲存過程後,發現in引數不會對全域性變數的值引起變化,而out和inout引數呼叫完儲存過程後,會對全域性變數的值產生變化,會將儲存過程引用後的值賦值給全域性變數。

in引數賦值型別可以是變數還有定值,而out和inout引數賦值型別必須是變數。

標籤:儲存,rows,0.00,mysql,sec,mysql,過程

mysql的儲存過程初識 初識MySQL儲存過程

儲存過程 stored procedure 是一組為了完成特定功能的sql語句集,經編譯後儲存在資料庫中,使用者通過指定儲存過程的名字並給定引數 如果該儲存過程帶有引數 來呼叫執行它。mysql 儲存過程是從mysql 5.0開始增加的新功能。大大提高資料庫的處理速度,同時也可以提高資料庫程式設計的...

《Mysql儲存過程程式設計》之初始mysql儲存過程

json code 12 3456 78910 1112 1314 1516 171 什麼是儲存過程?過程就是把若干條sql組合起來並起乙個名字即沒有返回值的函式 通過其他方式返回 把過程儲存在資料庫中就是儲存過程 2 第乙個儲存過程,建立簡單儲存過程語法 create procedure proc...

mysql儲存過程 MySQL儲存過程

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