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

pojawia się błąd podczas definiowania nazwy zdarzenia w mysqlworkbench 5.5

Zgodnie z dokumentacją nie można utworzyć zdarzenia wewnątrz ciała procedury. Zobacz ten post Tworzenie zdarzenia wewnątrz procedury — SQL .

Będziesz musiał najpierw stworzyć procedurę, a następnie wywołać ją z wydarzenia jak poniżej

DELIMITER $$

CREATE DEFINER=`MailMe`@`%` PROCEDURE `sp_archivev3`()
BEGIN

INSERT INTO 
     send.sgev3_archive(a_bi,
                        b_vc,
                        c_int,
                        d_int,
                        e_vc,

<Rest of the code goes here>

Następnie utwórz zdarzenie wywołując procedurę

DELIMITER $$  
CREATE EVENT archivescheduler
ON SCHEDULE EVERY 10 SECOND
DO BEGIN
    CALL `sp_archivev3`();
END $$
DELIMITER ;

Inny wskaźnik:W przypadku, gdy procedura składowana nie uruchamia się ze zdarzenia; może być konieczne sprawdzenie, czy GLOBAL EVENT SCHEDULER jest w DISABLE stan. Możesz go włączyć za pomocą poniższych ustawień

SET GLOBAL event_scheduler = ON;



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Transakcja MySQL na dwóch bazach danych na różnych serwerach

  2. Potrzebujesz pomocy w dostępie do bazy danych mysql za pomocą node.js

  3. Jak zwiększyć połączenia MySQL (max_connections)?

  4. Hooki nie wyzwalają się podczas wstawiania nieprzetworzonych zapytań przez sequelize.query()

  5. Pytania dotyczące typów w MySQL