如何在12:00 PM - 12:00 AM之间每小时安排在MySQL中自动调用存储过程

时间:2014-09-06 20:40:36

标签: mysql stored-procedures triggers

如何在每天中午12:00到凌晨12:00之间每小时创建一个触发器来调用MySQL存储过程? 这就是我每天每小时打电话给prosedure所做的。但我不希望它每天运行24次。我只想让它在12-12之间运行。

CREATE DEFINER=`root`@`%` EVENT `prod_trig` 
ON SCHEDULE EVERY 1 HOUR STARTS '2014-01-17 18:15:00' ON COMPLETION NOT PRESERVE ENABLE 
COMMENT 'This.....' 
DO CALL `gd`.`prod_update_tr`()

1 个答案:

答案 0 :(得分:1)

您可以使用IF Syntax在当天所需的时间范围内调用此过程:

DELIMITER |
CREATE DEFINER=`root`@`%` EVENT `prod_trig` 
ON SCHEDULE EVERY 1 HOUR STARTS '2014-01-17 18:15:00' ON COMPLETION NOT PRESERVE ENABLE 
COMMENT 'This.....' 
IF CURRENT_TIME() BETWEEN '00:00:00' AND '12:00:00' THEN
    CALL `gd`.`prod_update_tr`();
END IF
|
DELIMITER ;