Create a procedure to find out the factorial of a number?

MySQLMySQLi Database

It can be created with the help of the following query −

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)

Now when invoking this procedure by passing the value of which we want to get the factorial as an argument −

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)
raja
Published on 21-Feb-2018 11:05:55
Advertisements