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

får en fejl under definering af hændelsesnavnet på mysqlworkbench 5.5

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;



  1. Hvordan eksporteres databaser via kommandolinjen?

  2. Hvordan kan jeg bruge en MySql brugerdefineret variabel i en .NET MySqlCommand?

  3. EXISTS vs JOIN og brug af EXISTS-klausulen

  4. Datobetingelser ved hjælp af søgelogik