首頁 > 資料庫 > mysql教程 > Oracle job 定时删除某条记录

Oracle job 定时删除某条记录

WBOY
發布: 2016-06-07 16:58:03
原創
918 人瀏覽過

1,创建表create table CJ_JT_NSRCPDMDY(ID VARCHAR2(40) not null primary key, CPBH VARCHAR2(80) not null,NSRBH VA

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;
/

过程已成功完成

linux

相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板