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

получаване на грешка при дефиниране на името на събитието в mysqlworkbench 5.5

Според документацията не можете да създавате събитие в тялото на процедурата. Вижте тази публикация Създаване на събитие вътре в процедура - SQL .

Първо ще трябва да създадете процедурата и след това да я извикате от събитие като по-долу

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>

След това създайте събитие, извикващо процедурата

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

Друг указател:В случай, че вашата съхранена процедура не се задейства от събитие; може да се наложи да проверите дали GLOBAL EVENT SCHEDULER е в DISABLE състояние. Можете да го включите, като използвате настройката по-долу

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. INET_ATON() и INET_NTOA() в PHP?

  2. (mysql, php) Как да получа стойност на полето auto_increment преди вмъкване на данни?

  3. Как да получите произволен целочислен диапазон на mysql?

  4. Оптимизирайте производителността на MySQL/MariaDB с инструмента MySQLTunner

  5. SQLSTATE[HY093]:Невалиден номер на параметър:параметърът не е дефиниран