sql >> Databáze >  >> RDS >> Mysql

získání chyby při definování názvu události na mysqlworkbench 5.5

Podle dokumentace nemůžete vytvořit událost uvnitř těla procedury. Viz tento příspěvek Vytvoření události v proceduře - SQL .

Nejprve budete muset vytvořit proceduru a poté ji zavolat z události jako níže

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>

Poté vytvořte událost volající proceduru

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

Další ukazatel:V případě, že se vaše uložená procedura nespustí z události; možná budete muset zkontrolovat, zda GLOBAL EVENT SCHEDULER je v DISABLE Stát. Můžete jej zapnout pomocí níže uvedeného nastavení

SET GLOBAL event_scheduler = ON;



  1. Parametrizovaný dotaz, který vrací sloupce TEXT, vždy vrací nulu u sloupců INT

  2. Proč ActiveRecord cancel_all trvá tak dlouho?

  3. PHP &mySQL:Jednoduchý kód pro implementaci transakce – Commit &Rollback

  4. Export a import výpisu tabulky (.sql) pomocí pgAdmin