儲存過程(stored procedure)是一種在資料庫中儲存複雜程式,以便外部程式呼叫的一種資料庫物件
儲存過程就是具有名字的一段**,用來完成乙個特定的功能。
建立的儲存過程儲存在資料庫的資料字典中
作用:大大提高效率(儲存過程本身執行速度非常快,呼叫存 儲過程大大減少資料庫互動次數);提高**重用性
引數型別
in表示呼叫者向過程傳入值(傳入值可以是字面量或變數)
out表示過程向呼叫者傳出值(可以返回多個值)(傳出值只能是變數)
inout
既表示呼叫者向過程傳入值,又表示過程向呼叫者傳出值(值只能是變數)
1.無參形式
2. 帶in引數mysql>delimiter $
mysql> create procedure pro_show()
-> begin
-> select * from customer;
-> end$
mysql>delimiter ;
mysql> call pro_show()
;#儲存過程的使用
3.帶in和out引數mysql> create procedure pro_askorder (in cuid int(11
))-> begin
-> select c_name from commodity where c_id in (select o_cid from `order` where o_cuid = cuid);-
> end$
4.帶inout引數mysql>delimiter $
mysql> create procedure pro_cnum
(in cid int(11
),out cnum int(11
))-> begin
-> select c_num into cnum from commodity where c_id =cid;
-> end$
mysql>delimiter ;
mysql>set @cn=-
1;#設定變數
mysql>call pro_cnum(12
,@cn
);mysql>select @cn;+
------+
|@cn|+
------+
|6|+
----
--+
剩下的內容我會在學習過程中補充的!mysql>delimiter $
mysql> create procedure pro4
(inout p_inout int)-
> begin
-> select p_inout;
-> set p_inout =2;
-> select p_inout;
-> end$
mysql>delimiter ;
mysql> call pro4
(@en
);#沒有初始化的變數預設為null+--
-------
+| p_inout |+--
-------
+| null |+--
-------
+1 row in set (
0.00 sec)+--
-------
+| p_inout |+--
-------
+|2|
+---------
+1 row in set (
0.01 sec)
mysql深入淺出的筆記 儲存過程一
1.儲存過程和函式.儲存過程和函式是事先經過編譯並儲存在資料庫中的一段sql語句的集合,呼叫儲存過程和函式可以簡化應用開發人員的很多任務作,減少資料在資料庫中和應用伺服器之間的傳說胡,對於提高資料處理的效率有很多好處.2.儲存過程和函式的區別 1 函式必須有返回值,而儲存過程沒有 2 儲存過程的引數...
深入淺出MySQL
說明索引的設計和使用 sql中的安全問題 常用sql技巧 sql優化過程 優化資料庫物件 鎖問題 本站 深入淺出mysql 個人部落格 深入淺出mysql 1 設計索引原則 2 小常識 3 btree索引 1 了解sql執行頻率 使用show session global statusa來獲得伺服器...
深入淺出Mysql(四)
大批量插入資料優化 1 對應myisam型別的表,可以通過以下方式快速的匯入大量資料 alter table tablname disable keys loading the data alter table tablname enable keys 這兩個命令用來開啟或者關閉myisam表非唯一...