mysql存儲函數怎么用?

mysql存儲函數怎么用?

什么是存儲函數:

封裝一段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數據庫

? 版權聲明
THE END
喜歡就支持一下吧
點贊11 分享