mysql存儲函數怎麼用?

2019-10-15     科技i關注



什麼是存儲函數:

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

存儲函數的語法:

create function 函數([函數參數[,….]]) Returns 返回類型

Begin

If(

Return (返回的數據)

Else

Return (返回的數據)

end if;

end;

例如:

create function count_news(hits int) returns int

與存儲過程返回參數不同的是存儲函數在定義時沒用直接聲明哪個變量是返回參數,而只是使用了returns聲明了返回參數所屬的數據類型,返回參數是在函數體中使用return返回要返回的數據變量的形式來表示的。這就需要注意的是:

存儲函數隻支持輸入參數,並且輸入參數前沒有IN或INOUT.

存儲函數中的限制

流控制(Flow-of-control)語句(IF, CASE, WHILE, LOOP, WHILE, REPEAT, LEAVE,ITERATE)也是合法的.

變量聲明(DECLARE)以及指派(SET)是合法的.

允許條件聲明.

異常處理聲明也是允許的.

但是在這裡要記住函數有受限條件:不能在函數中訪問表.因此在函數中使用以下語句是非法的。

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

以上就是mysql存儲函數怎麼用?的詳細內容,更多請關注其它相關文章!

更多技巧請《轉發 + 關注》哦!

文章來源: https://twgreatdaily.com/zh-cn/RZON0G0BMH2_cNUgxWk8.html