Như được ghi lại trong Xác định chương trình được lưu trữ :
-
Nếu bạn sử dụng mysql chương trình khách hàng để xác định một chương trình được lưu trữ có chứa các ký tự dấu chấm phẩy, một vấn đề nảy sinh. Theo mặc định, mysql chính nó nhận ra dấu chấm phẩy là một dấu phân cách câu lệnh, vì vậy bạn phải tạm thời xác định lại dấu phân cách để gây ra mysql để chuyển toàn bộ định nghĩa chương trình được lưu trữ tới máy chủ.
Điều này cũng đúng với phpMyAdmin.
-
Để xác định lại mysql dấu phân cách, sử dụng
delimiter
lệnh.Không phải tất cả các phiên bản phpMyAdmin đều nhận ra
delimiter
yêu cầu; thay vào đó, người ta có thể sử dụngDelimiter
hộp nhập bên dưới hộp nhập SQL:xem Làm cách nào để viết SP trong phpMyAdmin (MySQL)? -
Sau đây là một ví dụ về một hàm nhận một tham số, thực hiện một hoạt động bằng cách sử dụng một hàm SQL và trả về kết quả. Trong trường hợp này, không cần sử dụng
delimiter
bởi vì định nghĩa hàm không chứa;
nội bộ dấu phân cách câu lệnh:mysql>
CREATE FUNCTION hello (s CHAR(20))
mysql>RETURNS CHAR(50) DETERMINISTIC
->RETURN CONCAT('Hello, ',s,'!');
Query OK, 0 rows affected (0.00 sec)Trong trường hợp của bạn, bạn có thể xóa
BEGIN ... END
khối câu lệnh ghép và tránh sự cần thiết phải thay đổi dấu phân cách.