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

ใช้ IF-ELSE ใน Stored Procedure ของ MySQL

คำสั่ง IF-THEN-ELSE ใน MySQL Stored Procedure ใช้สำควบคุมเงื่อนไขแบบทวิภาค (2 ทางเลือก) รูปแบบ syntax ดังนี้:

IF yourCondition THEN
    yourStatement1;
ELSE
    yourStatement2;
END IF;

ตัวอย่างการใช้งาน

1. สร้าง Stored Procedure ที่มี IF-ELSE

mysql> delimiter //
mysql> create procedure If_else_stored_demo(value int)
    -> begin
    -> if value > 1000 then
    -> select "your value is greater than 1000";
    -> else
    -> select "your value is less than or equal to 1000";
    -> end if;
    -> end
    -> //
Query OK, 0 rows affected (0.00 sec)
mysql> delimiter ;

2. เรียกใช้งาน Stored Procedure

mysql> call If_else_stored_demo(500);

ผลลัพธ์ (500 ≤ 1000 → เงื่อนไข ELSE):

+------------------------------------------+
| your value is less than or equal to 1000 |
+------------------------------------------+
| your value is less than or equal to 1000 |
+------------------------------------------+
1 row in set (0.00 sec)

หากเรียก call If_else_stored_demo(1500); จะได้:

+-------------------------------+
| your value is greater than 1000 |
+-------------------------------+
| your value is greater than 1000 |
+-------------------------------+

โครงสร้าง IF แบบสมบูรณ์ (IF-THEN-ELSEIF-ELSE)

IF condition1 THEN
    statement1;
ELSEIF condition2 THEN
    statement2;
ELSE
    statement3;
END IF;

ข้อควรระวัง

  • ต้องใช้ DELIMITER // ก่อนสร้าง Procedure และ DELIMITER ; หลังเสร็จ
  • END IF; ต้องมีเครื่องหมายเซมิคอลอน
  • ไม่สามารถใช้ IF นอกจาก Stored Program (Procedure, Function, Trigger, Event) ได้ ต้องใช้ IF() function แทนใน Query ธรรมดา

สรุป: ใช้ IF-THEN-ELSE ใน Stored Procedure สำหรับเงื่อนไข 2 ทางเลือก ใช้ IF-THEN-ELSEIF-ELSE สำหรับหลายเงื่อนไข และจำไว้ว่า END IF; ต้องลงท้ายด้วยเซมิคอลอน