Sądzę, że myślisz o tym w odwrotnym kierunku:nie możesz utworzyć zdarzenia w procedurze składowanej, ale możesz utwórz procedurę składowaną i wywołaj ją ze zdarzenia.
Przykład:
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 ;
Możesz napisać to jak każde inne zapytanie w środowisku roboczym lub bezpośrednio w kliencie wiersza poleceń.
O Twoim problemie
Po przeczytaniu twojego komentarza, wydaje mi się, że jesteś trochę zdezorientowany tym, czym jest MySQL Workbench.
MySQL Workbench to tylko aplikacja graficzna, która umożliwia łączenie się z serwerem MySQL oraz wykonywanie zapytań i zadań administracyjnych. Ale Workbench nie jest rdzeń MySQL... to tylko przeglądarka (może ze sterydami, ale w końcu przeglądarka).
Teraz harmonogram zdarzeń nie znajduje się w Workbench, ale w instancji serwera MySQL, z którą się łączysz. Podobnie jak tabele, widoki, procedury i funkcje nie są przechowywane w interfejsie Workbencha, ale na serwerze, zdarzenia są również przechowywane na serwerze.
(Tak, uważam, że to istotne SNAFU, że zaplanowane wydarzenia nie są pokazywane nigdzie w interfejsie graficznym, ale… po pewnym czasie człowiek uczy się żyć z tego rodzaju frustracjami i żyć dalej)
Być może Twoim jedynym zmartwieniem jest:„Hej, a co, jeśli chcę wiedzieć, jakie zdarzenia są ustawione w harmonogramie zdarzeń?” Możesz wykonać zapytanie „pokaż zdarzenia”, aby wyświetlić listę zdarzeń w bieżącej bazie danych, i możesz wykonać „pokaż, utwórz zdarzenie yourEvent”, aby wyświetlić create event
składnia tego zdarzenia.
Nalegam:przeczytaj instrukcję i miej jej kopię pod ręką (pobierz instrukcję dla swojej wersji MySQL tutaj ).