คุณสามารถใช้คำสั่ง IF ใน stored procedure พร้อมเงื่อนไขหลายอย่างได้โดยใช้ตัวดำเนินการ AND หรือ OR ไวยากรณ์มีดังนี้:
DECLARE X int; DECLARE Y int; SET X = value1; SET Y = value2; IF ((X < Y AND X > value1 AND Y > value2) OR X != anyValueToCompare) THEN yourStatement; ELSE yourStatement; END IF
ตอนนี้มาสร้าง stored procedure เพื่อทำความเข้าใจไวยากรณ์ข้างต้น คำสั่งสร้าง stored procedure มีดังนี้:
mysql> create procedure SP_IFELSEDEMO() BEGIN DECLARE X int; DECLARE Y int; SET X=100; SET Y=400; IF ((X < Y AND X > 99 AND Y > 300) OR X != 10) THEN SELECT 'Logic is Correct'; ELSE SELECT 'Logic is not Correct'; END IF; END; // Query OK, 0 rows affected (0.27 sec) mysql> DELIMITER ;
เรียกใช้ stored procedure ด้วยคำสั่ง CALL:
mysql> call SP_IFELSEDEMO();
ผลลัพธ์
+------------------+ | Logic is Correct | +------------------+ | Logic is Correct | +------------------+ 1 row in set (0.04 sec) Query OK, 0 rows affected (0.07 sec)