Mysql
 sql >> Base de données >  >> RDS >> Mysql

obtenir une erreur lors de la définition du nom de l'événement sur mysqlworkbench 5.5

Par documentation, vous ne pouvez pas créer d'événement dans le corps de la procédure. Voir ce post Créer un événement dans une procédure - SQL .

Vous devrez d'abord créer la procédure, puis l'appeler à partir d'un événement comme ci-dessous

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>

Créez ensuite un événement appelant la procédure

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

Un autre pointeur :dans le cas où votre procédure stockée ne se déclenche pas à partir d'un événement ; vous devrez peut-être vérifier si GLOBAL EVENT SCHEDULER est en DISABLE Etat. Vous pouvez l'activer en utilisant le paramètre ci-dessous

SET GLOBAL event_scheduler = ON;