怎样用mysql实现阶乘

DELIMITER $$ CREATE PROCEDURE factorial(IN num INT, OUT res BIGINT) BEGIN DECLARE i INT DEFAULT 0; DECLARE fact BIGINT DEFAULT 1; SET i = 1; WHILE i

在存储过程的代码块中,我们首先定义了两个变量i和fact,分别表示循环计数器和阶乘结果。接着,我们使用while循环来进行阶乘计算,循环从1开始,每次执行循环体时,将阶乘与i的值相乘并重新赋值给阶乘变量fact,最后将计算结果保存在res变量中。

下面我们来测试一下这个存储过程的计算结果:

SET @num = 10; CALL factorial(@num, @res); SELECT @res;