在数据库里,写个JOB啊,再写个存储过程,每天让数据库后台自已完成就OK了啊

解决方案 »

  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.   

    create or replace PROCEDURE name 
    as
    begin
    insert into tb
    select distinct(l1),distinct(l2),to_date(to_char(sysdate,'yyyymmdd')-1,'yyyy-mm-dd'),sum(l4) 
    from ta where l3=to_date(to_char(l3,'yyyymmdd')-1,'yyyy-mm-dd') group by l1,l2,l4;
    commit;
    end;
    怎么调用根据你的情况!