次のクエリを使用して作成できます -
mysql> Delimiter // mysql> CREATE PROCEDURE fact(IN x INT) -> BEGIN -> DECLARE result INT; -> DECLARE i INT; -> SET result = 1; -> SET i = 1; -> WHILE i <= x DO -> 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) Query OK, 0 rows affected (0.00 sec)
以上が数値の階乗を求めるプログラムを作成しますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。