MySQL DDL操作--------自定義函數最佳實戰

1. 背景

   * 自定義函數與存儲過程非常類似,但必須帶有返回值。


2. 自定義函數例子 [ 階乘 ]

   * 創建自定義函數 func_factorial

   delimiter 設置語句結束符

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_factorial

mysql> SELECT func_factorial(10);
+--------------------+
| func_factorial(10) |
+--------------------+
|            3628800 |
+--------------------+
1 row in set (0.01 sec)


3. 總結

以需求驅動技術,技術本身沒有優略之分,只有業務之分。

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