首页 > 解决方案 > 在 MySQL 中每 5 秒调用一次存储过程

问题描述

我在 MySQL 中编写了一个存储过程,我想每 5 秒执行一次,但是当我简单地运行存储过程时,它不会将任何记录添加到另一个表中。但是,如果我单独运行查询,它可以正常工作,但在存储过程中却不行。

我怎么能每 5 秒调用一次。

这是存储过程

DELIMITER //
CREATE PROCEDURE ctrdata2.call_detail() 
begin
  INSERT INTO ctrdata2.reporting_call_detail 
  SELECT * 
  FROM   ctrdata2.call_detail 
  WHERE  EXISTS 
         ( 
                SELECT end_time 
                FROM   ctrdata2.transactions_reporting_call_detail 
                WHERE  call_detail.initiationtimestamp > transactions_reporting_call_detail.end_time);
END

标签: mysqlstored-procedures

解决方案


尝试添加以下代码。

CREATE EVENT runEveryFiveSeconds
    ON SCHEDULE EVERY 5 SECOND
      DO
        CALL ctrdata2.call_detail();

推荐阅读