Mysql
 sql >> база данни >  >> RDS >> Mysql

Работа със събития в MySQL

Вярвам, че мислите това в обратната посока:не можете да създадете събитие в съхранена процедура, но можете създайте съхранена процедура и я извикайте от събитие.

Пример:

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 ;

Можете да напишете това като всяка друга заявка в работната среда или директно в клиента на командния ред.

Относно вашата загриженост

След като прочетох коментара ви, смятам, че сте малко объркани какво представлява MySQL Workbench.

MySQL Workbench е само графично приложение, което ви позволява да се свържете с MySQL сървър и да изпълнявате заявки и административни задачи. Но Workbenchне ет ядрото на MySQL... това е само зрител (със стероиди, може би, но все пак зрител).

Сега планировчикът на събития не се намира в Workbench, а в сървърния екземпляр на MySQL, към който се свързвате. Точно както таблиците, изгледите, процедурите и функциите не се съхраняват в интерфейса на Workbench, а в сървъра, събитията също се съхраняват в сървъра.

(Да, вярвам, че е подходящо за SNAFU, че планираните събития не се показват никъде в графичния интерфейс, но... след известно време човек се научава да живее с този вид разочарования и да продължава с живота)

Може би единственото ви притеснение е:"Хей, а какво ще стане, ако искам да знам какви събития са настроени да се изпълняват в планировчика на събития?" Можете да изпълните заявка за „покажи събития“, за да покажете списък със събитията в текущата база данни, и можете да изпълните „покажи събитие за създаване на вашето събитие“, за да покажете create event синтаксис за това събитие.

Настоявам:Прочетете ръководството и дръжте копие под ръка (изтеглете ръководството за вашата версия на MySQL тук ).




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Как да използвате Mysql JDBC драйвер към android студио

  2. Sequelize — използвайте времеви печат на UNIX за полета DATE

  3. Добавяне на допълнителна стойност на колона с INSERT ... SELECT в MySQL

  4. Как да свържа mysql с swift?

  5. MySQL – Функция FOUND_ROWS() за общия брой засегнати редове