Rumah > Artikel > pangkalan data > Bagaimanakah kita boleh mencipta prosedur tersimpan MySQL untuk mengira faktorial?
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)
Atas ialah kandungan terperinci Bagaimanakah kita boleh mencipta prosedur tersimpan MySQL untuk mengira faktorial?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!