什麼是存儲函數:
封裝一段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存儲函數怎麼用?的詳細內容,更多請關注其它相關文章!
更多技巧請《轉發 + 關注》哦!