Mysql
 sql >> Database >  >> RDS >> Mysql

ottenere un errore durante la definizione del nome dell'evento su mysqlworkbench 5.5

Per documentazione non è possibile creare eventi all'interno del corpo della procedura. Vedi questo post Crea un evento all'interno di una procedura - SQL .

Dovrai prima creare la procedura e poi chiamarla dall'evento come di seguito

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>

Quindi crea l'evento chiamando la procedura

DELIMITER $$  
CREATE EVENT archivescheduler
ON SCHEDULE EVERY 10 SECOND
DO BEGIN
    CALL `sp_archivev3`();
END $$
DELIMITER ;

Un altro puntatore:nel caso in cui la procedura memorizzata non si attivi dall'evento; potrebbe essere necessario verificare se GLOBAL EVENT SCHEDULER è in DISABLE stato. Puoi attivarlo utilizzando l'impostazione di seguito

SET GLOBAL event_scheduler = ON;