Laut Dokumentation können Sie kein Ereignis innerhalb des Prozedurkörpers erstellen. Siehe diesen Beitrag Erstellen Sie ein Ereignis innerhalb einer Prozedur - SQL .
Sie müssen zuerst die Prozedur erstellen und sie dann vom Ereignis wie unten aufrufen
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>
Erstellen Sie dann ein Ereignis, das die Prozedur aufruft
DELIMITER $$
CREATE EVENT archivescheduler
ON SCHEDULE EVERY 10 SECOND
DO BEGIN
CALL `sp_archivev3`();
END $$
DELIMITER ;
Ein weiterer Hinweis:Falls Ihre gespeicherte Prozedur nicht vom Ereignis ausgelöst wird; Möglicherweise müssen Sie überprüfen, ob GLOBAL EVENT SCHEDULER
ist in DISABLE
Zustand. Sie können es mit der folgenden Einstellung aktivieren
SET GLOBAL event_scheduler = ON;