系统从实时数据库取测点数据,插入oracle中,由于测点数据量比较大,而且插入的历史数据只需保留两天即可,对于以前的数据定期删除。
使用oracle的计划任务来做。
首先定义存储过程,删除前两天的数据。
create or replace procedureDeleteSISPONITisbegin delete from sisponit where to_char(gettime,'yyyy-mm-dd') < to_char(sysdate-1,'yyyy-mm-dd');
end DeleteSISPONIT;
定义计划任务,在plsql中提供了工具,只需配置即可。
如要在plsql中通过命令窗口创建job:
declare job1 number;
beginsys.dbms_job.submit(job1,'DeleteSISPONIT;',sysdate,'sysdate+1');
commit;end;
/
DeleteSISPONIT为存储过程名,sysdate当前运行时间,sysdate+1下一次执行时间(周期为每天)
SQL*PLUS中创建
variable job1 number;
begin
sys.dbms_job.submit(job =>:job,
what =>'DeleteSISPONIT;',
next_date =>'sysdate',
interval => 'sysdate+1');
commit;
end;
/
运行job
begin dbms_job.run(3017); end;