Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Praca ze zdarzeniami w MySQL

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 ).




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Najszybszy sposób na importowanie dużego pliku CSV do MySql za pomocą MySql CLI

  2. Czy aplikacja na Androida może połączyć się bezpośrednio z internetową bazą danych mysql?

  3. C# Błąd MySQL Liczba kolumn nie odpowiada liczbie wartości w wierszu 1

  4. Kod błędu:1005. Nie można utworzyć tabeli „...” (errno:150)

  5. Sparametryzowane zapytania PHP/MySQL