我现在要写个jobs来每天定时调用存储过程,
但以前没有写过JOBS,希望各位帮忙给点意见,
顺便问下这个jobs在sysbase下可以实现吗?他们有什么差别??
谢谢

解决方案 »

  1.   

    DECLARE
      X NUMBER;
    BEGIN
      SYS.DBMS_JOB.SUBMIT
      ( job       => X 
       ,what      => '要调用的存储过程名;'/*比如说要调用个pro,就写'pro(参数)'*/
       ,next_date => to_date('20/04/2008 00:00:00','dd/mm/yyyy hh24:mi:ss')/*下次执行时间'
       ,interval  => 'TRUNC(LAST_DAY(SYSDATE)) + 1' /*JOB间隔,我这里是每个月的第一天执行,如果是间隔半小时,就写sysdate+30/1440,间隔一天,就写sysdate+1*/
       ,no_parse  => FALSE
      );
      SYS.DBMS_OUTPUT.PUT_LINE('Job Number is: ' || to_char(x));
    COMMIT;
    END;
      

  2.   

    DECLARE
      X NUMBER;
    BEGIN
      SYS.DBMS_JOB.SUBMIT
      ( job       => X 
       ,what      => 'PR_PLAY_MIN_COST
      (sysdate-61 ,
       sysdate-1 ,
       ''%''   );'
       ,next_date => to_date('20/04/2008 00:00:00','dd/mm/yyyy hh24:mi:ss')
       ,interval  => 'TRUNC(LAST_DAY(SYSDATE)) + 1'
       ,no_parse  => FALSE
      );
      SYS.DBMS_OUTPUT.PUT_LINE('Job Number is: ' || to_char(x));
    COMMIT;
    END;
    /这是我在单位里写的一个JOB,每个月的一号执行一次,
      

  3.   

    非常感谢,
    是不是commit以后就OK,不用调用了,它会自动执行(问得有点多余)?
    hehe  
      

  4.   

    YES,到时间就会执行的
    这个脚本执行一次就可以了,JOB就建好了