Welcome 微信登录

首页 / 数据库 / MySQL / Oracle job 定时删除某条记录

1,创建表
create table CJ_JT_NSRCPDMDY

ID     VARCHAR2(40)  not null primary key,
CPBH   VARCHAR2(80)  not null,
NSRBH  VARCHAR2(80)  not null,
BZ     VARCHAR2(80)
);2,测试数据insert into CJ_JT_NSRCPDMDY values(1,001,001,"启用");
insert into CJ_JT_NSRCPDMDY values(2,002,002,"启用");
insert into CJ_JT_NSRCPDMDY values(3,003,003,"不启用");3,创建一个删除垃圾记录的存储过程create or replace procedure mypro as
begin
delete from CJ_JT_NSRCPDMDY where BZ = "不启用";
end;
/
过程已创建
4,创建JOB,实现每个月第一天的午夜12点删除CJ_JT_NSRCPDMDY中不启用的记录。variable job number;
begin
dbms_job.submit(:job,"mypro;",trunc(last_day(sysdate)+1),"trunc(last_day(sysdate)+1)");
commit;
end;
///////////////////////////////////////////////////////////////////
以上即可完成任务,不要往下执行啦。否则,创建作业时,就马上启动作业了。/////////////////////////////////////////////////////////////////
5,运行JOB
begin
dbms_job.run(:job);
end;
/
过程已成功完成6,select * from CJ_JT_NSRCPDMDY;
得到预期结果//这个地方应该是查出来3条记录才对,可是已经把不启用的记录提前删除啦。不知道为什么。
7、删除JOB
begin
dbms_job.remove(:job);
end;
/过程已成功完成MySQL中关于自增长主键的获取Oracle数据库Clob字段的更新操作相关资讯      oracle 
  • [INS-32052] Oracle基目录和Oracle  (07/22/2014 07:41:41)
  • Oracle 4个大对象(lobs)数据类型  (02/03/2013 12:33:05)
  • Oracle按时间段分组统计  (07/26/2012 10:36:48)
  • [Oracle] dbms_metadata.get_ddl的  (07/12/2013 07:37:30)
  • Liferay Portal 配置使用Oracle和  (07/31/2012 20:07:18)
  • Concurrent Request:Inactive   (07/20/2012 07:44:05)
本文评论 查看全部评论 (0)
表情: 姓名: 字数