ORACLE JOB 问题,请高手帮忙修改一下,先谢过了

usernamezero 2009-04-14 11:18:55
隔12小时执行一次,这个间隔时间段对吗?看如下形式
DECLARE
JOB NUMBER; --任务ID
V_BEGIN DATE; --开始时间
V_INTERVAL VARCHAR2(50); --时间间隔
BEGIN
V_BEGIN := TRUNC(SYSDATE)+12/24;
V_INTERVAL := 'trunc(SYSDATE+1)+12/24';
--dbms_job.run(2); --强制运行
DBMS_JOB.SUBMIT(JOB,'过程名字;',v_begin,v_interval,FALSE,0,FALSE); --创建JOB
DBMS_OUTPUT.PUT_LINE(' JOB(任务) 编号: ' || JOB);
COMMIT;
END;

谁有正确的给写上,谢谢了
...全文
133 5 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
rockywu 2009-04-19
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 usernamezero 的回复:]
我的是一天执行两次大哥 中等12点一次晚上12点一次
[/Quote]

隔12小时?与每天中午12点一次晚上12点一次 是一样吗?^_^

usernamezero 2009-04-14
  • 打赏
  • 举报
回复
解决了
把这句改成这样的就行了V_INTERVAL := 'trunc(SYSDATE,''hh''+12/24';
还得自己结贴
usernamezero 2009-04-14
  • 打赏
  • 举报
回复
我的是一天执行两次大哥 中等12点一次晚上12点一次
雪狼__ 2009-04-14
  • 打赏
  • 举报
回复

SQL> create or replace procedure delete_recordjuncline as
2 begin
3 delete from recordjuncline t where t.datetime <(select max(l.datetime-20) from recordjuncline l);
4 end;
5 /

Procedure created

SQL> variable job1 number;
SQL> begin
2 dbms_job.submit(:job1,'delete_recordjuncline;',sysdate,'sysdate+1');
3 end;
4 /

PL/SQL procedure successfully completed
job1
---------
21

SQL> begin
2 dbms_job.run(:job1);
3 end;
4 /

PL/SQL procedure successfully completed
job1
---------
21

SQL>


一天执行一次,我分开写的
雪狼__ 2009-04-14
  • 打赏
  • 举报
回复
从我创建JOB的语句跟你不一样
dbms_job.submit(:job1,'delete_recordjuncline;',sysdate,'sysdate+1');
我的是一天执行一次

3,494

社区成员

发帖
与我相关
我的任务
社区描述
Oracle 高级技术相关讨论专区
社区管理员
  • 高级技术社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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