mysql存儲函數(shù)的使用方法

這篇文章給大家分享的是有關(guān)MySQL存儲函數(shù)的使用方法的內(nèi)容。小編覺得挺實用的,因此分享給大家做個參考。一起跟隨小編過來看看吧。

創(chuàng)新互聯(lián)公司專業(yè)為企業(yè)提供卓資網(wǎng)站建設(shè)、卓資做網(wǎng)站、卓資網(wǎng)站設(shè)計、卓資網(wǎng)站制作等企業(yè)網(wǎng)站建設(shè)、網(wǎng)頁設(shè)計與制作、卓資企業(yè)網(wǎng)站模板建站服務(wù),十余年卓資做網(wǎng)站經(jīng)驗,不只是建網(wǎng)站,更提供有價值的思路和整體網(wǎng)絡(luò)服務(wù)。

什么是存儲函數(shù):

封裝一段sql代碼,完成一種特定的功能,返回結(jié)果。

存儲函數(shù)的語法:

  create function 函數(shù)([函數(shù)參數(shù)[,….]]) Returns 返回類型
  Begin
    If(
      Return (返回的數(shù)據(jù))
    Else 
      Return (返回的數(shù)據(jù))
    end if;
  end;

例如:

 create function count_news(hits int) returns int

與存儲過程返回參數(shù)不同的是存儲函數(shù)在定義時沒用直接聲明哪個變量是返回參數(shù),而只是使用了returns聲明了返回參數(shù)所屬的數(shù)據(jù)類型,返回參數(shù)是在函數(shù)體中使用return返回要返回的數(shù)據(jù)變量的形式來表示的。這就需要注意的是:
存儲函數(shù)只支持輸入?yún)?shù),并且輸入?yún)?shù)前沒有IN或INOUT.

存儲函數(shù)中的限制

流控制(Flow-of-control)語句(IF, CASE, WHILE, LOOP, WHILE, REPEAT, LEAVE,ITERATE)也是合法的.
變量聲明(DECLARE)以及指派(SET)是合法的.
允許條件聲明.
異常處理聲明也是允許的.
但是在這里要記住函數(shù)有受限條件:不能在函數(shù)中訪問表.因此在函數(shù)中使用以下語句是非法的。

ALTER 'CACHE INDEX' CALL COMMIT CREATE DELETE 
DROP 'FLUSH PRIVILEGES' GRANT INSERT KILL 
LOCK OPTIMIZE REPAIR REPLACE REVOKE 
ROLLBACK SAVEPOINT 'SELECT FROM table' 
'SET system variable' 'SET TRANSACTION' 
SHOW 'START TRANSACTION' TRUNCATE UPDATE

感謝各位的閱讀!關(guān)于mysql存儲函數(shù)的使用方法就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,讓大家可以學(xué)到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到吧!

分享名稱:mysql存儲函數(shù)的使用方法
網(wǎng)頁鏈接:http://muchs.cn/article22/jcgjcc.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站設(shè)計、建站公司、品牌網(wǎng)站設(shè)計、面包屑導(dǎo)航網(wǎng)站維護、標(biāo)簽優(yōu)化

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

綿陽服務(wù)器托管