sql >> Databasteknik >  >> RDS >> Mysql

får ett fel när händelsenamnet definieras på mysqlworkbench 5.5

Per dokumentation kan du inte skapa händelse inuti procedurens kropp. Se det här inlägget Skapa en händelse i en procedur - SQL .

Du måste skapa proceduren först och sedan anropa den från händelse som nedan

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>

Skapa sedan händelse som anropar proceduren

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

Ytterligare en pekare:Om din lagrade procedur inte avfyras från händelsen; du kan behöva kontrollera om GLOBAL EVENT SCHEDULER är i DISABLE stat. Du kan aktivera den med nedanstående inställning

SET GLOBAL event_scheduler = ON;



  1. Hur får jag meningsfulla felmeddelanden från MySQL med PDO-förberedda uttalanden?

  2. Använda aggregerade funktioner (SUM, AVG, MAX, MIN, COUNT, DISTINCT) i MySQL

  3. Hur MONTH() fungerar i MariaDB

  4. MySQL ACOS() Funktion – Returnera bågcosinus för ett tal