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

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

ความสำคัญของ DELIMITER ใน Stored Procedure

เมื่อสร้าง Stored Procedure ที่มีหลายคำสั่ง SQL ต้องเปลี่ยน DELIMITER ชั่วคราวเพื่อไม่ให้ MySQL คิดว่าจบคำสั่งที่ semicolon (;) แรก

ขั้นตอนการสร้าง

CREATE TABLE DemoTable2028 (
    StudentFirstName VARCHAR(20),
    StudentLastName VARCHAR(20)
);

-- เปลี่ยน delimiter เป็น //
DELIMITER //

CREATE PROCEDURE insert_name(
    IN fname VARCHAR(20), 
    IN lname VARCHAR(20)
)
BEGIN
    INSERT INTO DemoTable2028 VALUES (fname, lname);
END //

-- คืนค่า delimiter กลับเป็น ;
DELIMITER ;

// เรียกใช้ procedure
CALL insert_name('Chris', 'Brown');

ผลลัพธ์

StudentFirstNameStudentLastName
ChrisBrown

จุดสำคัญ:

  • ใช้ DELIMITER // ก่อน CREATE PROCEDURE
  • จบ procedure ด้วย //
  • คืนค่า DELIMITER ; หลังสร้างเสร็จ
  • ภายใน procedure ใช้ semicolon (;) ตามปกติ