从零开始写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

猜你喜欢

转载自blog.csdn.net/qq_36437446/article/details/80260727