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