dbms_job.submit(:job1,'test;',trunc(sysdate)+1/1440, 'trunc(sysdate)+1+1/1440');  ----每天深夜0:01分执行

解决方案 »

  1.   

    dbms_job.submit(:job1,'test;',trunc(sysdate)+1/1440, 'trunc(sysdate)+1+1/1440');  ----每天深夜0:01分执行
      

  2.   

    declare
    job1 number;
    begin 
    dbms_job.submit(job1,'test;',sysdate,'sysdate+1');
    commit   
    end; 
    /
      

  3.   

    declare
    job1 number;
    begin 
    dbms_job.submit(job1,'test;',sysdate,'sysdate+1');
    commit   
    end; 
    /
      

  4.   

    多谢多谢,但好象submit时就运行了一次test过程,我想实现submit时暂不运行test过程,只是提交到job队列里去,一定要到每天的0点钟运行,又该如何设置参数?
      

  5.   

    declare
    job1 number;
    begin 
    dbms_job.submit(job1,'test;','sysdate+1','sysdate+1');
    commit   
    end; 
      

  6.   

    to pilicat(delphi迷) 
    如果按你的方法,job不一定就在0:00点执行吧,而是提交job后的24小时吧,即如果我在15:00提交的,那得明天15:00才运行,是吗?我要的是无论什么时候提交,第一次运行一定要在下一个0:00,然后每天的0:00运行,如:我在15:00提交的job,第一次运行是在今晚的24:00运行。
      

  7.   

    你可以让一个过程在0:00执行。这个过程里边写dbms_job.Interval(job ,Interval)可以每隔24小时执行一次。
      

  8.   

    dbms_job.submit(job1,'test;',to_date('2003-07-08 00:00:00','yyyy-mm-dd 24hh:mi:ss'),'sysdate+1');
      

  9.   

    begin
    dbms_job.submit(:job,'sp_truncate_table;',to_date('2003-07-10 23:30:00','yyyy-mm-dd hh24:mi:ss'),'sysdate+1');
    end;
    /
    这样没用,到了指定时间也不会运行,一定要加个
    beign
    dbms_job.run(:job);
    end;
    才可以把job提交,但这样又等同于先运行了一次,下一次就是第二天的这个时刻,根本不会在指定的to_date('2003-07-10 23:30:00','yyyy-mm-dd hh24:mi:ss')运行