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

Lavorare con gli eventi in MySQL

Credo che tu stia pensando questo nella direzione opposta:non puoi creare un evento in una procedura memorizzata, ma puoi creare una stored procedure e richiamarla da un evento.

Esempio:

delimiter $$
create procedure myProc()
-- Dummy procedure to move the data from mainTable to backupTable, 
-- and then clear (truncate) mainTable
begin
    insert into backupTable select * from mainTable;
    truncate mainTable;
end $$
delimiter ;

-- Now, suposing that you want to execute this procedure every hour:
delimiter $$
create event myEvent
    on schedule every 1 hour
    do
        begin
            call myProc();
        end $$
delimiter ;

Puoi scriverlo come qualsiasi altra query nell'ambiente di lavoro o direttamente nel client della riga di comando.

Informazioni sulla tua preoccupazione

Dopo aver letto il tuo commento, credo che tu sia un po' confuso su cosa sia MySQL Workbench.

MySQL Workbench è solo un'applicazione grafica che consente di connettersi a un server MySQL ed eseguire query e attività di amministrazione. Ma Workbench non lo è il nucleo di MySQL... è solo un visualizzatore (con steroidi, forse, ma dopotutto un visualizzatore).

Ora, l'utilità di pianificazione degli eventi non risiede in Workbench, ma nell'istanza del server MySQL a cui ti stai connettendo. Così come le tabelle, le viste, le procedure e le funzioni non sono archiviate nell'interfaccia di Workbench ma nel server, anche gli eventi sono archiviati nel server.

(Sì, credo sia un SNAFU rilevante che gli eventi programmati non vengano mostrati da nessuna parte nell'interfaccia grafica, ma... dopo un po' si impara a convivere con quel tipo di frustrazioni e ad andare avanti con la vita)

Forse la tua unica preoccupazione è:"Ehi, e se volessi sapere quali eventi sono impostati per essere eseguiti nell'utilità di pianificazione degli eventi?" Puoi eseguire una query "mostra eventi" per mostrare un elenco degli eventi nel database corrente e puoi eseguire "mostra crea evento tuoEvento" per mostrare create event sintassi per quell'evento.

Insisto:leggi il manuale e tienine una copia a portata di mano (scarica il manuale per la tua versione di MySQL qui ).