Vấn đề
Khi tạo stored procedure chứa nhiều câu lệnh (có dấu chấm phẩy), MySQL cần thay đổi delimiter tạm thời để không nhầm lẫn dấu chấm phẩy kết thúc procedure.
Cú pháp đúng
mysql> DELIMITER //
mysql> CREATE PROCEDURE correct_procedure()
BEGIN
SELECT 'Hello MySQL !!!';
END //
Query OK, 0 rows affected (0.12 sec)
mysql> DELIMITER ;
Gọi thủ tục
mysql> call correct_procedure();
Kết quả:
+-----------------+ | Hello MySQL !!! | +-----------------+ | Hello MySQL !!! | +-----------------+ 1 row in set (0.00 sec)
Quy tắc: Luôn đặt DELIMITER // trước CREATE PROCEDURE và khôi phục DELIMITER ; sau khi kết thúc.