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 저장 프로시저를 어떻게 만들 수 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!