目錄
儲存過程
簡介是一組為了完成特定功能的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,儲存過程的引數。下面每個教程都包含了易於理解的示例和詳細的說明。如果您瀏覽並學習所有教程,您可...