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

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

รูปแบบที่ถูกต้องของ DELIMITER ใน Stored Procedure

DELIMITER // 
CREATE PROCEDURE yourStoredProcedureName() 
BEGIN 
    IF yourCondition then 
        yourStatement1; 
    else 
        yourStatement2; 
    END IF; 
END // 
DELIMITER ;

ตัวอย่างสร้าง Procedure

mysql> DELIMITER // 
mysql> CREATE PROCEDURE delimiter_demo() 
    -> BEGIN 
    -> IF 1 THEN 
    -> SELECT "If condition will always true"; 
    -> else 
    -> select "No"; 
    -> END IF; 
    -> END 
    -> // 
Query OK, 0 rows affected (0.17 sec) 
mysql> DELIMITER ;

เรียกใช้ Procedure

mysql> call delimiter_demo();

ผลลัพธ์

+-------------------------------+ 
| If condition will always true | 
+-------------------------------+ 
| If condition will always true | 
+-------------------------------+ 
1 row in set (0.00 sec)

จุดสำคัญ: เปลี่ยน delimiter เป็น // ก่อน CREATE PROCEDURE | ใช้ // ปิดท้าย procedure | กลับ delimiter เป็น ; หลังจบ | ทำให้ ; ภายใน procedure ไม่ถูกตีความว่าเป็นจบคำสั่ง