mysql創建存儲函數的方法:【CREATE FUNCTION function_name(param1) RETURNS datatype DETERMINISTIC statements SQL】。存儲函數本身就是輸出函數,因此它不能擁有輸出參數。
【推薦課程:mysql視頻教程】
存儲函數
存儲函數與存儲過程很相似,都是由SQL語句和過程式語句所組成的代碼片段,并且可以被應用程序和其他SQL語句調用。由于存儲函數本身就是輸出函數,因此它不能擁有輸出參數,另外可以不用call語句就可以直接對存儲函數進行調用。
存儲函數的創建
語法
CREATE?FUNCTION?function_name(param1,param2,…)???? RETURNS?datatype??? [NOT]?DETERMINISTIC?statements SQL
語法解析:
CREATE FUNCTION子句后面是指定存儲函數的名稱
(param1,param2,…)? :表示的是存儲函數的所有參數,在默認情況下,所有參數均為IN參數。不能為參數指定IN,OUT或INOUT修飾符。
RETURNS datatype :表示:返回值的數據類型,它可以是任何有效的MySQL數據類型
[NOT] DETERMINISTIC:表示結果是不確定的,相同的輸入可能得到不同的輸出。如果沒有指定任意一個值,默認為[NOT] DETERMINISTIC
SQL:程序主體
例:創建一個名為demo的存儲函數,該函數返回 SELECT 語句的查詢結果,數值類型為字符串型。代碼如下:
mysql>?DELIMITER??// mysql>?CREATE??FUNCTION??demo() ????->?RETURNS??CHAR(50) ????->?RETURN??(??SELECT??s_name??FROM??suppliers??WHERE??s_call='48075'); ????->?// Query?OK,?0?rows?affected?(0.11?sec) mysql>?DELIMITER??;
? 版權聲明
文章版權歸作者所有,未經允許請勿轉載。
THE END
喜歡就支持一下吧
相關推薦