เพื่อหลีกเลี่ยงข้อผิดพลาดประเภทนี้ในกระบวนงานที่เก็บไว้ของ MySQL คุณต้องเปลี่ยนตัวคั่น; ถึง //.
สมมติว่าคุณกำลังใช้กระบวนงานที่เก็บไว้ หรือทริกเกอร์ หรือแม้แต่ฟังก์ชัน คุณจำเป็นต้องเปลี่ยนตัวคั่น ไวยากรณ์มีดังนี้
DELIMITER // CREATE PROCEDURE yourProcedureName() เริ่มต้น Statement1, . NEND;//DELIMITER;
เพื่อให้เข้าใจไวยากรณ์ข้างต้น ให้เราสร้างกระบวนงานที่เก็บไว้ แบบสอบถามเพื่อสร้างกระบวนงานที่เก็บไว้มีดังต่อไปนี้ -
mysql> DELIMITER //mysql> CREATE PROCEDURE sp_getAllRecords()-> BEGIN-> SELECT *FROM employeetable;-> END;-> //Query OK, 0 แถวได้รับผลกระทบ (0.23 วินาที)mysql> DELIMITER;
เรียกกระบวนงานที่เก็บไว้โดยใช้คำสั่ง CALL ไวยากรณ์มีดังนี้
CALL yourStoredProcedureName();
ตอนนี้เรียกขั้นตอนข้างต้นที่ส่งกลับระเบียนทั้งหมดของตารางพนักงาน แบบสอบถามมีดังนี้
mysql> CALL sp_getAllRecords();
ต่อไปนี้เป็นผลลัพธ์
<ก่อนหน้า>+-----------+--------------+----------------+| รหัสพนักงาน | ชื่อพนักงาน | เงินเดือนพนักงาน |+------------+--------------+----------------+| 2 | บ๊อบ | 1000 || 3 | แครอล | 2500 |+-----------+--------------+----------------+2 แถว ในชุด (0.00 วินาที) แบบสอบถามตกลง 0 แถวได้รับผลกระทบ (0.02 วินาที)