Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> MySQL

Sử dụng DELIMITER đúng cách trong Stored Procedure MySQL để tránh lỗi BEGIN/END

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.