Theo tài liệu, bạn không thể tạo sự kiện bên trong thân thủ tục. Xem bài đăng này Tạo sự kiện bên trong một thủ tục - SQL .
Bạn sẽ phải tạo thủ tục trước và sau đó gọi nó từ sự kiện như bên dưới
DELIMITER $$
CREATE DEFINER=`MailMe`@`%` PROCEDURE `sp_archivev3`()
BEGIN
INSERT INTO
send.sgev3_archive(a_bi,
b_vc,
c_int,
d_int,
e_vc,
<Rest of the code goes here>
Sau đó, tạo sự kiện gọi thủ tục
DELIMITER $$
CREATE EVENT archivescheduler
ON SCHEDULE EVERY 10 SECOND
DO BEGIN
CALL `sp_archivev3`();
END $$
DELIMITER ;
Một con trỏ khác:Trong trường hợp thủ tục được lưu trữ của bạn không kích hoạt từ sự kiện; bạn có thể cần kiểm tra xem GLOBAL EVENT SCHEDULER
nằm trong DISABLE
trạng thái. Bạn có thể bật nó bằng cách sử dụng cài đặt bên dưới
SET GLOBAL event_scheduler = ON;