程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> MYSQL數據庫 >> MySQL綜合教程 >> MySQL存儲過程部分解釋

MySQL存儲過程部分解釋

編輯:MySQL綜合教程

 

MySQL存儲過程部分解釋:

 關於MySQL的存儲過程

 

存儲過程是數據庫存儲的一個重要的功能,但是MySQL在5.0以前並不支持存儲過程,這使得MySQL在應用上大打折扣。好在MySQL 5.0終於開始已經支持存儲過程,這樣即可以大大提高數據庫的處理速度,同時也可以提高數據庫編程的靈活性。

 

格式

 

MySQL存儲過程創建的格式:CREATE PROCEDURE過程名([過程參數[,...]])   procedure

[特性...] 過程體

 

這裡先舉個例子:

  

 

1. mysql> DELIMITER // 

 

2. mysql> CREATE PROCEDURE proc1(OUT s int) 

 

3.     -> BEGIN

 

4.     -> SELECT COUNT(*) INTO s FROM user; 

 

5.     -> END

 

6.     -> // 

 

7. mysql> DELIMITER ;

 

 參數

 

MySQL存儲過程的參數用在存儲過程的定義,共有三種參數類型,IN,OUT,INOUT,形式如:

 

CREATE PROCEDURE([[IN |OUT |INOUT ] 參數名 數據類形...])

 

IN 輸入參數: 表示該參數的值必須在調用存儲過程時指定,在存儲過程中修改該參數的值不能被返回,為默認值

 

OUT 輸出參數: 該值可在存儲過程內部被改變,並可返回

 

INOUT 輸入輸出參數: 調用時指定,並且可被改變和返回

 

. IN參數例子

 

創建: 

 

1. mysql > DELIMITER // 

 

2. mysql > CREATE PROCEDURE demo_in_parameter(IN p_in int) 

 

3.      -> BEGIN  

 

4.      -> SELECT p_in; /*查詢輸入參數*/ 

 

5.      -> SET p_in=2; /*修改*/ 

 

6.      -> SELECT p_in; /*查看修改後的值*/ 

 

7.      -> END;  

 

8.      -> // 

 

mysql > DELIMITER ;

 

OUT參數例子

 

創建:

 

1. mysql > DELIMITER // 

 

2. mysql > CREATE PROCEDURE demo_out_parameter(OUT p_out int) 

 

3.      -> BEGIN

 

4.      -> SELECT p_out;/*查看輸出參數*/ 

 

5.      -> SET p_out=2;/*修改參數值*/ 

 

6.      -> SELECT p_out;/*看看有否變化*/ 

 

7.      -> END; 

 

8.      -> // 

 

9. mysql > DELIMITER ;

 

. INOUT參數例子

 

創建:

 

1. mysql > DELIMITER //  

 

2. mysql > CREATE PROCEDURE demo_inout_parameter(INOUT p_inout int)  

 

3.      -> BEGIN

 

4.      -> SELECT p_inout; 

 

5.      -> SET p_inout=2; 

 

6.      -> SELECT p_inout;  

 

7.      -> END; 

 

8.      -> //  

 

9. mysql > DELIMITER ;

 

注釋

 

 

 

MySQL存儲過程可使用兩種風格的注釋

 

雙模槓:--

 

該風格一般用於單行注釋

 

 風格:/* 注釋內容*/ 一般用於多行注釋

摘自 chizhidan_luck

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved