語法:Create function function_name(參數列表)returns返回值類型
函數體 函數名,應合法的標識符,不應與系統關鍵字沖突。
一個函數應該屬於某個數據庫,可以使用db_name.funciton_name的形式執行當前函數所屬數據庫,否則為當前數據庫。
參數部分,由參數名和參數類型組成。
返回值類類型.注意,一定要有return返回值語句。
創建第一個函數:
mysql> DROP FUNCTION IF EXISTS SP_FUNC_DBDH_ONE -- 刪掉已存在函數 DELIMITER && -- 定義分隔符,必須要有 ,本例為 && 可以為得數字符,例如: $$,%%,**
mysql> CREATE FUNCTION SP_FUNC_DBDH_ONE( PARA_VAR varchar(30)) -- 多個參數用,分割 參數
的類型必須是mysql列存在的類型
-> RETURNS VARCHAR(100) -- 指定返回值類型,如果你不確定返回
文本長度,可以使用text
-> BEGIN
-> DECLARE NAYIBU_FIR VARCHAR(30) DEFAULT 'THIS IS MY FIRST,'; -- 定義變量,設置默認值
-> SET NAYIBU_FIR = concat(NAYIBU_FIR,PARA_VAR);
-> RETURN NAYIBU_FIR; -- 返回值
-> END $$
后面有你在前面定義的分割符號
Query OK, 0 rows affected (0.00 sec)
mysql> DELIMITER &&
調用自定義函數,輸出結果如下:
mysql> SELECT SP_FUNC_DBDH_ONE('PROGRAM');
+------------------------------+
| SP_FUNC_DBDH_ONE('PROGRAM') |
+------------------------------+
| 'THIS IS MY FIRST, PROGRAM |
+------------------------------+
1 row in set (0.00 sec)