Zgodnie z dokumentacją nie można utworzyć zdarzenia wewnątrz ciała procedury. Zobacz ten post Tworzenie zdarzenia wewnątrz procedury — SQL .
Będziesz musiał najpierw stworzyć procedurę, a następnie wywołać ją z wydarzenia jak poniżej
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>
Następnie utwórz zdarzenie wywołując procedurę
DELIMITER $$
CREATE EVENT archivescheduler
ON SCHEDULE EVERY 10 SECOND
DO BEGIN
CALL `sp_archivev3`();
END $$
DELIMITER ;
Inny wskaźnik:W przypadku, gdy procedura składowana nie uruchamia się ze zdarzenia; może być konieczne sprawdzenie, czy GLOBAL EVENT SCHEDULER
jest w DISABLE
stan. Możesz go włączyć za pomocą poniższych ustawień
SET GLOBAL event_scheduler = ON;