MySQL存儲過程

1、關(guān)于MySQL的存儲過程

存儲過程是數(shù)據(jù)庫存儲的一個重要的功能,但是MySQL在5.0以前并不支持存儲過程,這使得MySQL在應(yīng)用上大打折扣。

好在MySQL 5.0終于開始已經(jīng)支持存儲過程,這樣即可以大大提高數(shù)據(jù)庫的處理速度,同時也可以提高數(shù)據(jù)庫編程的靈活性。

2、MySQL存儲過程的創(chuàng)建語法

CREATE PROCEDURE 過程名 ([過程參數(shù)[,...]])

BEGIN

[特性 ...] 過程體;

END;

3、參數(shù)

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

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

IN 輸入?yún)?shù):表示該參數(shù)的值必須在調(diào)用存儲過程時指定,在存儲過程中修改該參數(shù)的值不能被返回,為默認值

OUT 輸出參數(shù):該值可在存儲過程內(nèi)部被改變,并可返回

INOUT 輸入輸出參數(shù):調(diào)用時指定,并且可被改變和返回

這里舉個例子:

CREATE PROCEDURE pro1(name varchar(4),sex int)

BEGIN

if sex < 1 then select name,'性別:男';

else

select name,'性別:女';

end if;

END;

4、MySQL存儲過程的調(diào)用

用call和你過程名以及一個括號,括號里面根據(jù)需要,加入?yún)?shù),參數(shù)包括輸入?yún)?shù)、輸出參數(shù)、輸入輸出參數(shù)。具體的調(diào)用方法可以參看上面的例子。

5、MySQL存儲過程的查詢

show procedure status where db='數(shù)據(jù)庫名';進行查詢。

如果我們想知道,某個存儲過程的詳細,那我們又該怎么做呢?是不是也可以像操作表一樣用describe 表名進行查看呢?

答案是:我們可以查看存儲過程的詳細,但是需要用另一種方法:

SHOW CREATE PROCEDURE 數(shù)據(jù)庫.存儲過程名;就可以查看當(dāng)前存儲過程的詳細。

6、MySQL存儲過程的刪除

刪除一個存儲過程比較簡單,和刪除表一樣:

DROP PROCEDURE

從MySQL的表格中刪除一個或多個存儲過程。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 轉(zhuǎn)載自這里 存儲過程簡介 我們常用的操作數(shù)據(jù)庫語言SQL語句在執(zhí)行的時候需要要先編譯,然后執(zhí)行,而存儲過程(Sto...
    杜七閱讀 2,468評論 4 27
  • 原文鏈接 MySQL存儲過程詳解 1.存儲過程簡介 我們常用的操作數(shù)據(jù)庫語言SQL語句在執(zhí)行的時候需要要先編譯,然...
    亞斯咪妮閱讀 2,723評論 1 30
  • 任務(wù)需求:定時執(zhí)行的任務(wù),調(diào)用存儲過程,進行數(shù)據(jù)遷移。 存儲過程相關(guān)總結(jié):(存儲過程的創(chuàng)建 不能伴隨有if exi...
    時待吾閱讀 3,205評論 0 4
  • 轉(zhuǎn)載自-> 記錄MYSQL存儲過程中的關(guān)鍵語法:DELIMITER //聲明語句結(jié)束符,用于區(qū)分;CREATE P...
    風(fēng)亡小窩閱讀 70,985評論 5 78
  • 文/大伊 很多女孩子都有被大姨媽困擾的經(jīng)歷。我身邊的朋友小A,大姨媽痛起來的那一小時,大腿抽筋,小腹酸痛,只能坐著...
    大伊小冰閱讀 18,453評論 1 18

友情鏈接更多精彩內(nèi)容