Jeg tror, du tænker det i den modsatte retning:Du kan ikke oprette en begivenhed i en lagret procedure, men du kan oprette en lagret procedure og kalde den fra en begivenhed.
Eksempel:
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 ;
Du kan skrive dette som en hvilken som helst anden forespørgsel i arbejdsbordet eller direkte i kommandolinjeklienten.
Om din bekymring
Efter at have læst din kommentar tror jeg, at du er lidt forvirret over, hvad MySQL Workbench er.
MySQL Workbench er kun en grafisk applikation, der giver dig mulighed for at oprette forbindelse til en MySQL-server og udføre forespørgsler og administrationsopgaver. Men Workbench er ikke kernen i MySQL... det er kun en seer (med steroider, måske, men en seer trods alt).
Nu findes begivenhedsplanlæggeren ikke i Workbench, men i den MySQL-serverforekomst, du opretter forbindelse til. Ligesom tabellerne, visningerne, procedurerne og funktionerne ikke er gemt i Workbench-grænsefladen, men i serveren, gemmes begivenhederne også på serveren.
(Ja, jeg mener, det er en relevant SNAFU, at de planlagte begivenheder ikke vises nogen steder i den grafiske grænseflade, men... efter et stykke tid lærer man at leve med den slags frustrationer og komme videre med livet)
Måske er din eneste bekymring:"Hej, og hvad nu hvis jeg vil vide, hvilke begivenheder der er indstillet til at køre i begivenhedsplanlæggeren?" Du kan udføre en "vis begivenheder"-forespørgsel for at vise en liste over begivenhederne i den aktuelle database, og du kan udføre "vis opret begivenhed din begivenhed" for at vise create event
syntaks for den begivenhed.
Jeg insisterer:Læs manualen, og hold en kopi ved hånden (download manualen til din MySQL-version her ).