I henhold til dokumentationen kan du ikke oprette begivenhed i procedurens krop. Se dette indlæg Opret en hændelse i en procedure - SQL .
Du skal først oprette proceduren og derefter kalde den fra begivenhed som nedenfor
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>
Opret derefter begivenhed, der kalder proceduren
DELIMITER $$
CREATE EVENT archivescheduler
ON SCHEDULE EVERY 10 SECOND
DO BEGIN
CALL `sp_archivev3`();
END $$
DELIMITER ;
En anden pointer:I tilfælde af at din lagrede procedure ikke udløses fra begivenheden; du skal muligvis kontrollere, om GLOBAL EVENT SCHEDULER
er i DISABLE
stat. Du kan slå den til ved at bruge nedenstående indstilling
SET GLOBAL event_scheduler = ON;