MsSql计划事件要触发

时间:2017-08-17 04:47:09

标签: mysql

我已经注册了一个事件调度程序,每周星期一运行,并完成了谷歌搜索所要求的所有步骤。 。我已将服务器日期回溯到星期一日期。但事件仍然没有被解雇。

步骤1设置偶数调度程序:

SET GLOBAL event_scheduler = ON;

第2步创建活动:

CREATE EVENT ScheduledFaMeetingTableUpdate
ON SCHEDULE
  EVERY 1 WEEK
  STARTS CURRENT_DATE + INTERVAL 0 - WEEKDAY(CURRENT_DATE) DAY + INTERVAL 10 HOUR
    DO 
    Call FAMeetingWeekUpdate_sp();

SELECT @@global.event_scheduler; 
Result : ON

Show Events;
Result :
'bitnami_redmine', 'ScheduledFaMeetingTableUpdate', 'root@localhost', 'SYSTEM', 'RECURRING', NULL, '1', 'WEEK', '2017-08-14 10:00:00', NULL, 'ENABLED', '0', 'utf8', 'utf8_general_ci', 'utf8_general_ci'


SHOW PROCESSLIST;
Result :
'1', 'event_scheduler', 'localhost', NULL, 'Daemon', '-65135', 'Waiting for next activation', NULL

1 个答案:

答案 0 :(得分:0)

您尚未指定,该事件应该反复执行。

来自manual

  

通常,一旦事件过期,它会立即被删除。您可以通过指定ON COMPLETION PRESERVE来覆盖此行为。使用ON COMPLETION NOT PRESERVE仅显示默认的非持久行为。

您的create event语句应如下所示:

CREATE EVENT ScheduledFaMeetingTableUpdate
ON SCHEDULE
EVERY 1 WEEK
STARTS CURRENT_DATE + INTERVAL 0 - WEEKDAY(CURRENT_DATE) DAY + INTERVAL 10 HOUR
ON COMPLETION PRESERVE
DO 
    Call FAMeetingWeekUpdate_sp();