Dấu phân tách mặc định của Mysql là ;
được sử dụng cho một câu lệnh trong dòng lệnh, một cái gì đó như là
select * from users ;
Khi bạn viết một trình kích hoạt hoặc thủ tục được lưu trữ để thực thi toàn bộ mã, mysql cần hiểu rằng một khối mã / truy vấn của nó.
Nếu không có dấu phân tách nào được cung cấp thì khi mysql gặp bất kỳ ;
nào bên trong thủ tục lưu trữ hoặc kích hoạt nó sẽ nghĩ rằng đó là một câu lệnh và sẽ cố gắng thực thi nó. Vì vậy, chúng tôi cần cung cấp một dấu phân tách cho thủ tục lưu trữ hoặc trình kích hoạt và làm cho mysql hiểu rằng bất kỳ thứ gì bên trong dấu phân cách đó đều là một bộ mã hoàn chỉnh.
Vì vậy, trong ví dụ của bạn
SELECT * FROM products;
nó sẽ là một phần của câu lệnh hoàn chỉnh khi có dấu phân cách khác với ;
được cung cấp ngay từ đầu.