इसे निम्न क्वेरी की मदद से बनाया जा सकता है:
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)