可以利用dbms_job包来定时运行作业,如执行存储过程,一个简单的例子,提交一个作业: 
VARIABLE jobno number; 
BEGIN 
DBMS_JOB.SUBMIT(:jobno, 'ur_procedure;'SYSDATE,'SYSDATE + 1'); 
commit; 
END;

解决方案 »

  1.   

    DBMS_JOB.SUBMIT(:jobno,//job号
                    'your_procedure;',//要执行的过程
                    trunc(sysdate)+1/24,//下次执行时间
                    'trunc(sysdate)+1/24+1'//每次间隔时间
                   );
    删除job:dbms_job.remove(jobno);
    修改要执行的操作:job:dbms_job.what(jobno,what);
    修改下次执行时间:dbms_job.next_date(job,next_date);
    修改间隔时间:dbms_job.interval(job,interval);
    停止job:dbms.broken(job,broken,nextdate);
    启动job:dbms_job.run(jobno);
    例子:
    VARIABLE jobno number;
    begin
          DBMS_JOB.SUBMIT(:jobno, 
                  'Procdemo;', 
                   SYSDATE, 'SYSDATE + 1/720');
             commit;
    end;
    /
      

  2.   

    写好要运行的语句,然后用job设置好时间就可以了!