存储过程自动执行

来源:互联网 发布:经纬度数据库 编辑:程序博客网 时间:2024/06/05 06:21
create or replaceprocedure   insertUserNums   as icount number;    begin    select nvl(count(*),0) into icount from userchart where everydate=to_char(sysdate-1,'yyyy-mm-dd');    if icount=0 then     insert   into   userchart   values(to_char(sysdate-1,'yyyy-mm-dd'),(select nvl(max(num),0) from usercharteveryday where trunc(everydaydate)=trunc(sysdate-1)));     else     delete from userchart where everydate=to_char(sysdate-1,'yyyy-mm-dd');     insert   into   userchart   values(to_char(sysdate-1,'yyyy-mm-dd'),(select nvl(max(num),0) from usercharteveryday where trunc(everydaydate)=trunc(sysdate-1)));      end if;  end;    --variable job1 number;--  begin --  dbms_job.submit(:job1,'insertUserNums;',sysdate,'TRUNC(SYSDATE + 1) + (8*60+30)/(24*60)');--每晚1点半执行。-- end;  -- begin --dbms_job.run(:job1); -- end;  variable job_insertUserNums number;  begin     sys.dbms_job.submit(            job =>:job_insertUserNums,              what   =>'insertUserNums;',              next_date   => to_date('15-03-2011 01:00:00','dd-mm-yyyy hh24:mi:ss'),              interval   => 'trunc(SYSDATE+1)');     commit; end;  begin dbms_job.run(:job_insertUserNums);  end;