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

Delimiter (phân cách) trong MySQL?

Delimiter là ký tự kết thúc câu lệnh. Mặc định là dấu chấm phẩy ;.

Khi viết Stored Procedure, Function, Trigger chứa nhiều câu lệnh bên trong, cần đổi delimiter tạm thời để tránh MySQL chạy từng câu lệnh riêng lẻ.

Cú pháp:

DELIMITER //
CREATE PROCEDURE ten_thu_tuc()
BEGIN
    -- Nhiều câu lệnh kết thúc bằng ;
    SELECT * FROM bang1;
    SELECT * FROM bang2;
END //
DELIMITER ;

Ví dụ thực tế:

mysql> DELIMITER //
mysql> CREATE PROCEDURE DisplayALL()
    -> BEGIN
    ->   SELECT * FROM GetRecordsFromNow;
    -> END
    -> //
Query OK, 0 rows affected (0.40 sec)
mysql> DELIMITER ;
mysql> CALL DisplayALL();

Ký tự thường dùng: //, $$, || (tránh trùng với ký tự trong code).

Lưu ý: Chỉ cần đổi delimiter trong client dòng lệnh (mysql CLI) hoặc script. Các công cụ GUI (Workbench, DBeaver...) thường xử lý tự động.