什麼是儲存函數:
#封裝一段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資料庫
以上是mysql儲存函數怎麼用?的詳細內容。更多資訊請關注PHP中文網其他相關文章!