为什么只执行一次Oracle DBMS_SCHEDULER作业?
我的oracle作业定义如下:
BEGIN
DBMS_SCHEDULER.CREATE_JOB(
JOB_NAME => 'DBMS_JOB_RESYNC_REQUESTS',
JOB_TYPE => 'PLSQL_BLOCK',
JOB_ACTION => '
BEGIN
-- iterate over implicit cursor
FOR K IN (SELECT SCEN_ID
from TABLE1
WHERE STATUS = 2)
LOOP
-- updating status and date
UPDATE TABLE1
SET STATUS = 3, LAST_UPDATED_DATE = SYSDATE
WHERE SCEN_ID= K.SCEN_ID;
END LOOP;
COMMIT;
END;',
START_DATE => systimestamp,
REPEAT_INTERVAL => 'FREQ=MINUTELY;INTERVAL=1;BYSECOND=0;',
END_DATE => NULL,
ENABLED => TRUE,
COMMENTS => 'TESTING JOB');
END;
我有一个表由外部应用程序不断更新的表 status 列从1到2值,我想创建一个更改的作业,以更改状态从2到3,还添加了进行更改的日期。
我不知道为什么我的工作只运行一次,因为我已经指定每分钟运行它。
我做错了吗?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
您的代码中有一个无限的循环。您是否曾经测试过代码?
尝试一下
You have an infinite loop in your code. Did you ever test the code?
Try this