前言:
今天大家对“怎么停oraclejob”可能比较关切,朋友们都想要了解一些“怎么停oraclejob”的相关文章。那么小编在网络上收集了一些有关“怎么停oraclejob””的相关知识,希望我们能喜欢,咱们一起来学习一下吧!-- 创建测试表
create table A8
(
a1 VARCHAR2(500)
)
-- 创建存储过程
create or replace procedure proc_add_test as
begin
insert into a8 values (to_char(sysdate, 'yyyy-mm-dd hh:mi'));/*向测试表插入数据*/
commit;
end;
-- 创建job 定时执行
declare
job number;
BEGIN
DBMS_JOB.SUBMIT(
JOB => job, /*自动生成JOB_ID*/
WHAT => 'proc_add_test;', /*需要执行的存储过程名称或SQL语句*/
NEXT_DATE => sysdate+3/(24*60), /*初次执行时间-下一个3分钟*/
INTERVAL => 'trunc(sysdate,''mi'')+1/(24*60)' /*每隔1分钟执行一次*/
);
commit;
end;
--- 测试查看结果
select * from A8;
-- 查看当前用户job
select job, what, next_date, next_sec, sysdate, failures, broken,interval
from user_jobs a;
-- 修改job 执行时间 实际环境
-- 每月一号凌晨两点执行
begin
dbms_job.change(26 ,'proc_add_test;', sysdate,'TRUNC(LAST_DAY(SYSDATE))+1+2/24' );
commit;
end;
-------------删除JOB-----------------
begin
dbms_job.remove(26); --//41为Job 的ID值
commit;
end;
-- 停止job,原有job 保留
begin
dbms_job.BROKEN(26,true);
commit;
end;
-- 验证job暂停是否成功
select job, what, next_date, next_sec, sysdate, failures, broken,interval
from user_jobs a;
标签: #怎么停oraclejob