MySQL自定義函數

UDF(user-dinfine function,UDF)自定義函數
自定義函數的兩個必要條件:
(1)參數
(2)返回值
創建自定義函數:
CREATE FUNCTION function_name
RETURNS
{STRING|INTEGER|REAL|DECIMAL}
routine_body
函數體:
(1)函數體由合法的SQL語句構成
(2)函數體可以是簡單的SELECT或INSERT語句
(3)函數體如果爲複合結構則使用BEGIN...END語句
(4)複合結構可以包含聲明,循環,控制結構

不帶參數的自定義函數
 CREATE FUNCTION fun1() RETURNS VARCHAR(30)
    -> RETURN DATE_FORMAT(NOW(),'%Y年%m月%d日 %H:%i:%s');
mysql> SELECT fun1();
+-------------------------+
| fun1()                  |
+-------------------------+
| 2016年05月01日 14:42:32 |
+-------------------------+

參數的自定義函數
CREATE FUNCTION fun(num1 SMALLINT,num2 SMALLINT)
    -> RETURNS FLOAT(10,2)
    -> RETURN (num1+num2)/2;

複合結構函數體的自定義函數
 CREATE FUNCTION adduser(username VARCHAR(20))
    -> RETURNS INT UNSIGNED
    -> BEGIN
    -> INSERT test(username) VALUES(username);
    -> RETURN LAST_INSERT_ID();
    -> END

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章