又是老问题……如何设置job的下次执行时间啊???

某鸟 2005-12-20 05:14:56
比如我的job是每个月的5日执行,我现在要改成7日执行。
前提是,我的job曾经在上个月的18日执行过。
结果改了之后……大约几分钟之后……他的下次执行时间变成了下个月的18日,而不是7日。晕!

怎么办呢???
...全文
390 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
boydgmx 2005-12-21
  • 打赏
  • 举报
回复
SQL> VARIABLE JOBNO NUMBER;
SQL> BEGIN
2 DBMS_JOB.SUBMIT(
3 job => :JOBNO,
4 what => '',
5 next_date => SYSDATE,
6 interval => 'TRUNC(SYSDATE,''HH24'')+1/24',
7 no_parse => TRUE
8 );
9 COMMIT;
10 END;
11 /

PL/SQL 过程已成功完成。

SQL> PRINT JOBNO

JOBNO
----------
22

SQL> SELECT JOB,LAST_DATE,NEXT_DATE,FAILURES FROM USER_JOBS;

JOB LAST_DATE NEXT_DATE FAILURES
---------- ----------------- ----------------- ----------
22 20051221 21:47:18 20051221 22:00:00 0

SQL> EXECUTE DBMS_JOB.INTERVAL(&JOB,'ADD_MONTHS(TRUNC(SYSDATE,''MM''),1) + 6 + 12/24')
输入 job 的值: 22

PL/SQL 过程已成功完成。

SQL> COMMIT;

提交完成。

SQL> SELECT JOB,LAST_DATE,NEXT_DATE,FAILURES FROM USER_JOBS;

JOB LAST_DATE NEXT_DATE FAILURES
---------- ----------------- ----------------- ----------
22 20051221 21:47:18 20051221 22:00:00 0

SQL> EXECUTE DBMS_JOB.RUN(22);

PL/SQL 过程已成功完成。

SQL> SELECT JOB,LAST_DATE,NEXT_DATE,FAILURES FROM USER_JOBS;

JOB LAST_DATE NEXT_DATE FAILURES
---------- ----------------- ----------------- ----------
22 20051221 21:49:01 20060107 12:00:00 0


可以看出:最好立刻执行一下。

否则,会在原来的 NEXT_DATE 时执行,完毕之后根据修改后的 INTERVAL 计算下次执行时间。
某鸟 2005-12-20
  • 打赏
  • 举报
回复
那样的话,又多出一个job来~

我要的是可以随时更改下次执行时间的方法……我是通过程序执行的……

不过我好像知道怎么设置了……是我原来用的不对了……
我原来用的ADD_MONTHS(TRUNC(SYSDATE),1) + 6 + 12/24

多谢 boydgmx(梦霄)!
明天试试看:)
boydgmx 2005-12-20
  • 打赏
  • 举报
回复
你可以 EXECUTE DBMS_JOB.INTERVAL(&JOB,'ADD_MONTHS(TRUNC(SYSDATE,''MM''),1) + 6 + 12/24')
某鸟 2005-12-20
  • 打赏
  • 举报
回复
to 楼上,你这样搞,又多出一个,虽然我可以删掉重来,不过……我可是要随时执行的……那样好吗?

我要的是随时可以改下次执行时间的方法……
我原来用的是next_date方法~
boydgmx 2005-12-20
  • 打赏
  • 举报
回复
VARIABLE JOBNO NUMBER;
BEGIN
DBMS_JOB.SUBMIT(
job => :JOBNO,
what => '',
next_date => SYSDATE,
interval => 'ADD_MONTHS(TRUNC(SYSDATE,''MM''),1) + 6 + 12/24',
no_parse => TRUE
);
COMMIT;
END;
/
PRINT JOBNO

这样以后每次执行都是每月7号12点

17,377

社区成员

发帖
与我相关
我的任务
社区描述
Oracle 基础和管理
社区管理员
  • 基础和管理社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧