您好,欢迎访问一九零五行业门户网

我们如何创建MySQL存储过程来计算阶乘?

mysql> delimiter //mysql> create procedure get_factorial(in n int) -> begin -> set @@global.max_sp_recursion_depth = 255; -> set @@session.max_sp_recursion_depth = 255; -> -> call factorial_recursive (n, @factorial); -> -> select @factorial; -> end //query ok, 0 rows affected (0.00 sec)mysql> delimiter //mysql> create procedure factorial_recursive(in n int,out factorial int) -> begin -> if n = 1 then -> set factorial := 1; -> else -> call factorial_recursive (n-1, factorial); -> set factorial := n * factorial; -> end if; -> end //query ok, 0 rows affected (0.00 sec)mysql> delimiter ;mysql> call get_factorial(10);+--------------+| @factorial |+--------------+| 3628800 |+--------------+1 row in set (0.11 sec)query ok, 0 rows affected (0.12 sec)mysql> call get_factorial(5);+-------------+| @factorial |+-------------+| 120 |+-------------+1 row in set (0.00 sec)query ok, 0 rows affected (0.00 sec)
以上就是我们如何创建mysql存储过程来计算阶乘?的详细内容。
其它类似信息

推荐信息