溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

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

發(fā)布時(shí)間:2020-09-25 09:52:49 來(lái)源:億速云 閱讀:119 作者:小新 欄目:MySQL數(shù)據(jù)庫(kù)

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

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

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

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

  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

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

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

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

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存儲(chǔ)函數(shù)的使用方法就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,讓大家可以學(xué)到更多知識(shí)。如果覺(jué)得文章不錯(cuò),可以把它分享出去讓更多的人看到吧!

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI