一、建立預存程序
1、基本文法:
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 ;
2、參數
MySQL預存程序的參數用在預存程序的定義,共有三種參數類型,IN,OUT,INOUT,形式如:
CREATE PROCEDURE([[IN |OUT |INOUT ] 參數名 資料類形...])
IN 輸入參數:表示該參數的值必須在調用預存程序時指定,在預存程序中修改該參數的值不能被返回,為預設值
OUT 輸出參數:該值可在預存程序內部被改變,並可返回
INOUT 輸入輸出參數:調用時指定,並且可被改變和返回
3、變數
變數定義
DECLARE variable_name [,variable_name...] datatype [DEFAULT value];
其中,datatype為MySQL的資料類型,如:int, float, date,varchar(length)
變數賦值
SET 變數名 = 運算式值 [,variable_name = expression ...]
使用者變數
注意:
①使用者變數名一般以@開頭
②濫用使用者變數會導致程式難以理解及管理
注釋
MySQL預存程序可使用兩種風格的注釋
雙模杠:--
該風格一般用於單行注釋
c風格:/* 注釋內容 */ 一般用於多行注釋
二、調用預存程序
1、基本文法:
call sp_name()
注意:預存程序後面必須加括弧,哪怕預存程序沒有存數傳遞
三、mysql prepare語句使用
PREPARE statement_name FROM sql_text /*定義*/
EXECUTE statement_name [USING variable [,variable...]] /*執行預先處理語句*/
DEALLOCATE PREPARE statement_name /*刪除定義*/
四、刪除預存程序
1、基本文法:
drop procedure ap_name//
注意事項:不能在一個預存程序中刪除另一個預存程序,只能調用另一個預存程序
五、MySQL預存程序的控制語句
1、區塊定義:常用
begin
.......
end;
也可以給區塊取別名
label:begin
.........
end label;
可以用leave label 跳出區塊;跳出區塊,執行區塊以後的代碼
2、條件陳述式
if 條件 then
statment
else
statement
else if;
3、迴圈語句
(1).while迴圈
[label:] while expression DO
statements
end while [label];
(2).loop迴圈
[label:] loop
statements
end loop [label];
(3).repeat until 迴圈
[label:] repeat
statements
until expression
end repeat [label];
六、MySql分頁預存程序
該代碼就不在此寫了,詳情請下載該文檔內有分頁代碼:http://download.csdn.net/detail/rhljiayou/3801910