Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> MySQL

สร้าง Procedure เพื่อหา Factorial ของตัวเลข


สามารถสร้างได้ด้วยคำสั่งต่อไปนี้:

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)

ตอนนี้เมื่อเรียกใช้ Procedure นี้โดยส่งค่าที่ต้องการหา Factorial เป็นอาร์กิวเมนต์:

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)