先写一个存储过程,然后用JOB去调用,来定期执行

解决方案 »

  1.   

    用job
    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, 
                  'update tbname set col=n;', 
                   SYSDATE, 'SYSDATE + 1/720');
             commit;
    end;
    /
      

  2.   

    對,寫個過程,用job調用,oracle 9i支持job了呀,好東東呀。
      

  3.   

    定时功能用job.及时功能用trigger.  :)