1. 背景mysql
* 自定義函數與存儲過程很是相似,但必須帶有返回值。sql
2. 自定義函數例子 [ 階乘 ]ide
* 建立自定義函數 func_factorial函數
delimiter 設置語句結束符spa
mysql> delimiter // mysql> CREATE FUNCTION func_factorial (total INT) -> RETURNS INT -> BEGIN -> DECLARE i INT; -> DECLARE res INT; -> SET i = 1; -> SET res = 1; -> IF total <= 0 THEN -> SET total = 1; -> END IF; -> WHILE i <= total DO -> SET res = res * i; -> SET i = i + 1; -> END WHILE; -> RETURN res; -> END; // Query OK, 0 rows affected (0.01 sec) mysql> delimiter ;
* 調用自定義函數 func_factorialorm
mysql> SELECT func_factorial(10); +--------------------+ | func_factorial(10) | +--------------------+ | 3628800 | +--------------------+ 1 row in set (0.01 sec)
3. 總結it
以需求驅動技術,技術自己沒有優略之分,只有業務之分。class