3,491
社区成员
发帖
与我相关
我的任务
分享
--用这个
select * from tbl_alarminfo where trunc(to_date(alarmoccurtime,'yyyymmdd') - to_date('20100929','yyyymmdd')) > 7;
--如果时间中没有时分秒,那减下来的就是整数天,可以不要trunc。如果有时分秒就要trunc了,而且to_date后的时间格式就要写成'yyyymmddhh24miss'
做删除用的存储过程你肯定会写吧,
现在就是写一个能定时执行你的存储过程的东东就行了呗!
OK,这个东东就是job了!
--创建你的存储过程
create or replace procedure DELTEST
--创建job,没7天执行一次你的存储过程
declare job1 number;
begin
dbms_job.submit(job1,'DELTEST;','sysdate+7');
COMMIT;
end;
/
begin
sys.dbms_job.submit(job => :job,
what => 'delete tab where datatime < sysdate - 7;', /*这个根据你要删除的条件写*/
next_date => to_date('21-09-2011 17:20:11', 'dd-mm-yyyy hh24:mi:ss'), /*这个是你第一次要执行的时间,你可以根据你的要求写*/
interval => 'TRUNC(SYSDATE)+1'); /*这个是执行时间间隔,现在这个是每天凌晨0点开始执行,你可以根据你实际情况修改*/
commit;
end;
/