begin
  sys.dbms_job.submit(job => :job,
                      what => 'procedrue_name;', --存储过程名
                      next_date => to_date('27-08-2004 10:30:47', 'dd-mm-yyyy hh24:mi:ss'),--这里是下一次执行的时间
                      interval => 'sysdate + 1'); --这里是每隔一天执行一次存储过程
  commit;
end;

解决方案 »

  1.   

    declare
    VARIABLE v_jobnum NUMBERBEGIN
    DBMS_JOB.SUBMIT(:v_jobnum,'tempinsert;',SYSDATE,'sysdate+(90/24*60*60))');COMMIT;
    END;
    /
    'tempinsert 可以是存储过程名 (就是你需要执行的任务)
    注意:
    JOB_QUEUE_PROCESSES和JOB_QUEUE_INTERVAL;如果参数JOB_QUEUE_PROCESSES为0的话,则系统禁止作业运行; JOB_QUEUE_INTERVAL指定了运行两个作业之间的最小时间间隔。这两个参数不能使用ALTER_SYSTEM或ALTER SESSION进行动态修改;手工修改这两个参数后必须重启数据库才能生效。