1. 程式人生 > >從零開始寫MySql儲存過程(四)通過儲存過程實現階乘的計算

從零開始寫MySql儲存過程(四)通過儲存過程實現階乘的計算

   首先,我認為在實際的開發中,應該沒人會用儲存過程去計算階乘,但是用這個作為練習我覺得還是挺不錯的,因為通過這個儲存過程的編寫可以熟悉引數型別,儲存過程內部使用自定義變數,迴圈結構的語法的使用

mysql> create procedure jiecheng(in parameter int)
    -> begin
    -> declare var int;
    -> declare var2 int;
    -> set var=1;
    -> set var2=1;
    -> while var<parameter do
    -> set var2=var2*var;
    -> set var=var+1;
    -> end while;
    -> select var;
    -> select var2;
    -> end;
    -> //
Query OK, 0 rows affected

mysql> set @x=5;
    -> //
Query OK, 0 rows affected

mysql> delimiter ;
mysql> select @x;
+----+
| @x |
+----+
|  5 |
+----+
1 row in set

mysql> call jiecheng(@x);
+-----+
| var |
+-----+
|   5 |
+-----+
1 row in set

+------+
| var2 |
+------+
|   24 |
+------+
1 row in set