নিচে একটি স্টোরড ফাংশনের উদাহরণ দেওয়া হলো যা একটি প্রদত্ত সংখ্যার ফ্যাক্টোরিয়াল গণনা করতে পারে:
CREATE FUNCTION factorial (n DECIMAL(3,0)) RETURNS DECIMAL(20,0) DETERMINISTIC
BEGIN
DECLARE factorial DECIMAL(20,0) DEFAULT 1;
DECLARE counter DECIMAL(3,0);
SET counter = n;
factorial_loop: REPEAT
SET factorial = factorial * counter;
SET counter = counter - 1;
UNTIL counter = 1 END REPEAT;
RETURN factorial;
END //
আউটপুট উদাহরণ:
mysql> Select Factorial(5)// +--------------+ | Factorial(5) | +--------------+ | 120 | +--------------+ 1 row in set (0.27 sec) mysql> Select Factorial(6)// +--------------+ | Factorial(6) | +--------------+ | 720 | +--------------+ 1 row in set (0.00 sec)
এই ফাংশনটি REPEAT ... UNTIL লুপ ব্যবহার করে কাউন্টার ১ হয় পর্যন্ত গুণফল গণনা করে। DECIMAL(20,0) রিটার্ন টাইপ বড় ফ্যাক্টোরিয়াল মান ধারণ করতে সহায়তা করে।