sql >> Database >  >> RDS >> Mysql

krijg een fout bij het definiëren van de gebeurtenisnaam op mysqlworkbench 5.5

Per documentatie kunt u geen gebeurtenis in de hoofdtekst van de procedure maken. Zie dit bericht Maak een gebeurtenis in een procedure - SQL .

U moet eerst de procedure maken en deze vervolgens vanuit het evenement oproepen zoals hieronder

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>

Maak vervolgens een evenement aan door de procedure aan te roepen

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

Nog een aanwijzing:voor het geval dat uw opgeslagen procedure niet wordt geactiveerd vanuit een gebeurtenis; het kan nodig zijn om te controleren of GLOBAL EVENT SCHEDULER is in DISABLE staat. Je kunt het aanzetten met onderstaande instelling

SET GLOBAL event_scheduler = ON;



  1. Kunnen Django-modellen MySQL-functies gebruiken?

  2. PayPal ODBC-stuurprogramma

  3. Toon geavanceerde serverconfiguratie-opties in SQL Server (T-SQL)

  4. SQL Server-prestatiebestand IO-statistieken