mysql> Delimiter // mysql> CREATE PROCEDURE fact(IN x INT) -> BEGIN -> DECLARE result INT; -> DECLARE i INT; -> SET result = 1; -> SET i = 1; -> WHILE i SET result = result * i; -> SET i = i + 1; -> END WHILE; -> SELECT x AS Number, result as Factorial; -> END// Query OK, 0 rows affected (0.17 sec)
现在,当通过传递我们想要获取阶乘作为参数的值来调用此过程时 –
mysql> Delimiter ; mysql> CALL Fact(5); +——–+———–+ | Number | Factorial | +——–+———–+ | 5 | 120 | +——–+———–+ 1 row in set (0.00 sec)
Query OK, 0 rows affected (0.00 sec)
mysql> CALL Fact(6); +——–+———–+ | Number | Factorial | +——–+———–+ | 6 | 720 | +——–+———–+ 1 row in set (0.00 sec)