17,377
社区成员
发帖
与我相关
我的任务
分享
### 1.创建存储过程
SQL> create or replace procedure pro_delete_a as
2 begin
3 delete from a t where t.a < (sysdate-3/1440); ###一天1440分钟。即一分钟是 1/1440
4 end;
5 /
Procedure created
### 2创建job
SQL> variable job_pro_delete_a number;
SQL> begin
2 dbms_job.submit(:job_pro_delete_a,'pro_delete_a;',sysdate,'sysdate+3/1440');
3 end;
4 /
PL/SQL procedure successfully completed
job_pro_delete_a
---------
127
### 3.调用job
SQL> begin
2 dbms_job.run(:job_pro_delete_a);
3 end;
4 /
PL/SQL procedure successfully completed
job_pro_delete_a
---------
127
### 4.删除job
SQL> begin
2 dbms_job.remove(:job_pro_delete_a);
3 end;
4 /
Ps:select * from user_jobs;
dbms_job.remove(ID);
create or replace procedure delete_proc
as
begin
execute immediate 'delete from pm_time_rule t where t.special_end_time < sysdate and t.activeflag=0';
end;
/
declare
varable job number;
begin
dbms_job.submit(:job,'delete_proc;',sysdate,'trunc(sysdate+1)');
commit;
end;
/