Věřím, že to myslíte opačným směrem:Nemůžete vytvořit událost v uložené proceduře, ale můžete vytvořte uloženou proceduru a zavolejte ji z události.
Příklad:
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 ;
Můžete to napsat jako jakýkoli jiný dotaz na pracovní ploše nebo přímo v klientovi příkazového řádku.
O vašem zájmu
Po přečtení vašeho komentáře věřím, že jste trochu zmatení z toho, co je MySQL Workbench.
MySQL Workbench je pouze grafická aplikace, která vám umožňuje připojit se k serveru MySQL a provádět dotazy a úkoly správy. Ale Workbench není jádro MySQL... je to pouze prohlížeč (možná se steroidy, ale přece jen prohlížeč).
Nyní plánovač událostí nesídlí ve Workbench, ale v instanci serveru MySQL, ke které se připojujete. Stejně jako tabulky, pohledy, procedury a funkce nejsou uloženy v rozhraní Workbench, ale na serveru, jsou události také uloženy na serveru.
(Ano, věřím, že je relevantní SNAFU, že naplánované události se nikde v grafickém rozhraní nezobrazují, ale... po nějaké době se člověk naučí žít s tímto druhem frustrace a jít dál životem)
Možná je vaše jediná starost:"Hele, a co když chci vědět, jaké události jsou nastaveny na spouštění v plánovači událostí?" Můžete provést dotaz „show events“ a zobrazit seznam událostí v aktuální databázi a můžete provést „show create event yourEvent“ a zobrazit create event
syntaxe této události.
Trvám na tom:Přečtěte si příručku a mějte kopii po ruce (stáhněte si příručku pro svou verzi MySQL zde ).