| drop procedure sp_name// |
在此之前,小編給大家講述過MYSQL語法的基本知識,本篇內(nèi)容,小編通過下面的一個實例,給讀者們通過實戰(zhàn)中的代碼講解一下基本語法的知識。
一般情況下MYSQL以;結(jié)尾表示確認(rèn)輸入并執(zhí)行語句,但在存儲過程中;不是表示結(jié)束,因此可以用該命令將;號改為//表示確認(rèn)輸入并執(zhí)行。存儲過程如同一門程序設(shè)計語言,同樣包含了數(shù)據(jù)類型、流程控制、輸入和輸出和它自己的函數(shù)庫。
一.創(chuàng)建存儲過程
1.基本語法:
| create procedure sp_name()begin.........end |
2.參數(shù)傳遞
二.調(diào)用存儲過程
1.基本語法:
| call sp_name() |
注意:存儲過程名稱后面必須加括號,哪怕該存儲過程沒有參數(shù)傳遞
三.刪除存儲過程
1.基本語法:
2.注意事項
(1)不能在一個存儲過程中刪除另一個存儲過程,只能調(diào)用另一個存儲過程
四.區(qū)塊,條件,循環(huán)
1.區(qū)塊定義,常用
| begin......end; |
也可以給區(qū)塊起別名,如:
| lable:begin...........end lable; |
可以用leave lable;跳出區(qū)塊,執(zhí)行區(qū)塊以后的代碼
2.條件語句
if 條件 then
statement
else
statement
end if;
3.循環(huán)語句
(1).while循環(huán)
[label:] WHILE expression DO
statements
END WHILE [label] ;
(2).loop循環(huán)
[label:] LOOP
statements
END LOOP [label];
(3).repeat until循環(huán)
[label:] REPEAT
statements
UNTIL expression
END REPEAT [label] ;
五.其他常用命令
1.show procedure status
顯示數(shù)據(jù)庫中所有存儲的存儲過程基本信息,包括所屬數(shù)據(jù)庫,存儲過程名稱,創(chuàng)建時間等
2.show create procedure sp_name
顯示某一個存儲過程的詳細(xì)信息
下面看一個例子
一、MySQL 創(chuàng)建存儲過程
“pr_add” 是個簡單的 MySQL 存儲過程,這個MySQL 存儲過程有兩個 int 類型的輸入?yún)?shù) “a”、“b”,返回這兩個參數(shù)的和
delimiter // -- 改變分割符
drop procedure if exists pr_add// -- 若之前創(chuàng)建有這個存儲過程則刪除
計算兩個數(shù)之和
| create procedure pr_add (a int,b int)begindeclare c int;if a is null thenset a = 0;end if;if b is null thenset b = 0;end if;set c = a + b;select c as sum;end// |
二、調(diào)用 MySQL 存儲過程
call pr_add(10, 20);
執(zhí)行 MySQL 存儲過程,存儲過程參數(shù)為 MySQL 用戶變量。
新聞熱點
疑難解答
圖片精選