我的JOB如下begin
  sys.dbms_job.submit(job => :job,
                      what => 'addtoWEB_PAYREF_POLICY;',
                      next_date => to_date('13-11-2009', 'dd-mm-yyyy'),
                      interval => 'trunc(sysdate)+1');
  commit;
end;我的原意是想在11月13日早上执行存储过程 addtoWEB_PAYREF_POLICY 的(JOB是12号建的),但今天(13号)回来发现没执行··郁闷··一看··last_date 变成 2009-11-13 0:00:02 了begin
  sys.dbms_job.submit(job => :job,
                      what => 'addtoWEB_PAYREF_POLICY;',
                      next_date => to_date('14-11-2009', 'dd-mm-yyyy'),
                      last_date => to_date('14-11-2010', 'dd-mm-yyyy'),                      interval => 'trunc(sysdate)+1');
  commit;
end;这样又报错··请问如何设定 last_date呢

解决方案 »

  1.   

    ?为什么说没执行
    2009-11-13 0:00:02不就是你设定的to_date('13-11-2009', 'dd-mm-yyyy')吗
    last_date是指上一次执行job的时间,说明已经执行过一次了
    你可以查下all_jobs视图里关于last_date的注释:date that this job last successfully executed
      

  2.   

    next_date => to_date('13-11-2009', 'dd-mm-yyyy'),  开始时间
    last_date => to_date('14-11-2010', 'dd-mm-yyyy'),  结束时间                   
    interval => 'trunc(sysdate)+1');  时间间隔不是这样的吗
      

  3.   

    last_date不是由用户设定的
    dbms_job.submit过程里并没有这个参数
      

  4.   

    select * from all_jobs 
      

  5.   

    执行那个了select * from all_jobs  竟然是空的····
      

  6.   

    你重新创建job时将原有的job remove了吧?
    重新建个吧
      

  7.   

    这个应该是先找出对应jobno
    执行dbms_job.broken(JOBNO,true,ENDDATE);
    到指定的时间停止job
    但我自己试了下,一执行就停止了..你可以试下