有一个任务需要在每月的1号至8号的11点半执行,我编写的代码如下: variable myjob number
 exec dbms_job.submit(:myjob,'import_topunion;',sysdate,'TRUNC(LEAST   (LAST_DAY(SYSDATE ) + 7,LAST_DAY(SYSDATE ) + 8,LAST_DAY(SYSDATE ) + 9,LAST_DAY(SYSDATE ) + 10))+(11*60+30)/(24*60)'); 手工执行任务执行后,在user_jobs 中的NEXT_DATE,是下月的当天日期,不是当月的下一天,请问interval 如何编写?

解决方案 »

  1.   

    楼上构思比较正确,考虑每天11点半执行执行,在过程中判断是否符合条件
    create procedure import_topunion
    as
    begin
    if to_char(sysdate,'dd')>8 then
    null;
    else
    --do_something;
    end if;
    commit;
    end;
    /
    declare
    jobno number;
    begin
    dbms_job.submit(jobno,'import_topunion;',sysdate,'sysdate+35.5/24');
    commit;
    end;
    /
      

  2.   

    你好:但是我的存储过程调的是JAVA 类的一个方法,在 -- do_something; 如何编写呀 
      我的存储过程是:  CREATE OR REPLACE  PROCEDURE "TOPUNION"."IMPORT_TOPUNION"  as
      language java
      name 'Import_txt.import_topunion()';
      

  3.   

    可以在写一个过程,在过程中调用这个JAVA过程呀
      

  4.   

    请问yag96,oracle 的 一个存储过程调用另一个存储过程,如何编写,最好给个样列