如何通过 dbms_job 生成 “每周 2,3,4,5,6 凌晨 1~4点,每半小时执行 SP:test_SP ”的任务 ?

解决方案 »

  1.   


    如果是Oracle10g,用dbms_scheduler
    BEGIN
    DBMS_SCHEDULER.CREATE_JOB(
    job_name => 'My_Job',
    job_type => 'STORED_PROCEDURE',
    job_action => 'test_sp',
    start_date => SYSDATE,
    repeat_interval => 'FREQ=WEEKLY; BYDAY=TUE,WED,THU,FRI,SAT; BYHOUR=1,2,3,4; BYMINUTE=0,30',
    enabled => TRUE
    );
    END;
    /
      

  2.   

    定义一个job,每半小时执行一次,
    更改 SP:test_SP ,每次执行先判断时间是否是楼主要求的周 2,3,4,5,6 凌晨 1~4点,如满足要求,则执行,否则退出