คำสั่ง END IF ใช้ปิดบล็อกเงื่อนไข IF ใน MySQL Stored Procedure รูปแบบไวยากรณ์คือ:
IF yourCondition THEN
yourStatement
ELSE
yourStatement
END IF
ตัวอย่าง Stored Procedure
mysql> DELIMITER //
mysql> CREATE PROCEDURE Sp_Test(IN value INT)
-> BEGIN
-> IF value < 10 THEN
-> select 'Your value is less than 10';
-> ELSE
-> select 'Your value is greater than 10';
-> END IF;
-> END //
Query OK, 0 rows affected (1.47 sec)
mysql> DELIMITER ;
การเรียกใช้งาน
CALL yourStoredProcedureName();
mysql> CALL Sp_Test(15);
+-------------------------------+ | Your value is greater than 10 | +-------------------------------+ | Your value is greater than 10 | +-------------------------------+ 1 row in set (0.00 sec)
โครงสร้าง IF ที่สมบูรณ์
IF ... THEN ... END IF- เงื่อนไขเดียวIF ... THEN ... ELSE ... END IF- เงื่อนไขสองทางเลือกIF ... THEN ... ELSEIF ... THEN ... ELSE ... END IF- หลายเงื่อนไข
ข้อผิดพลาดที่พบบ่อย
- ลืมใส่
END IFทำให้เกิด syntax error - ใช้
DELIMITERไม่ถูกต้องเมื่อสร้าง procedure - วาง
END IFไม่ตรงตำแหน่งกับIFที่เปิดไว้