由于工作需要,在百度里弄了个间隔1分钟插入的job做实验
- SQL code
create table job_table(run_time date)!;create procedure job_proc is begin insert into job_table (run_time) values (sysdate); end; /declare job number; begin dbms_job.submit(job, 'job_proc;', sysdate, 'TRUNC(sysdate,''mi'') + 1 / (24*60)'); end;/commit
但现在不知道该怎么停,怕把名为job下的其他存储过程也给停了,很纠结。
查询
select * from dba_jobs
找到了这个job,其对应what字段的值只有job_proc;
是不是就说明该job只执行一个job_proc;存储过程,没有其它的了,直接停了就可以了???
------解决方案--------------------
KILL 掉!!
------解决方案--------------------
如果用的是sqlplus,可以找到相应的job,再修改其属性->停止运行。
------解决方案--------------------
1 你的job根本没有run
2 需要删除就
begin
dbms_job.remove(号);
commit;
end;
3 job是定时调用一段代码(可以是个存储过程),删除job也根本不会对这个存储过程有什么影响。
------解决方案--------------------
--停止任务
BEGIN
dbms_job.broken(job=> 任务号, broken => true);
COMMIT;
END;
/
------解决方案--------------------
5楼 正解!LZ代码 就是这样的啊,只是用作业调用了一个过程