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

การใช้งาน END IF ใน Stored Procedure ของ MySQL ให้ถูกต้อง

คำสั่ง 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 ที่เปิดไว้