1、创建一张测试表A_TEST
create table A_TEST (a date);
2、创建一个自定义存储过程
create or replace procedure test01 is
begin
insert into A_TEST values (sysdate);
end;
3、创建job
declare job01 number;
begin
dbms_job.submit(job01,'test01;',sysdate,'sysdate+1/1440'); 注意test01后面有个“;”,这个必须带上
end;
4、查看job
select * from sys.user_jobs; 查看job列表
select * from dba_jobs_running; 查看job是否还在运行
5、运行job
begin
dbms_job.run(v_job); v_job为job的编号
end;
6、停止一个job
begin
dbms_job.broken(v_job,true,next_date); sysdate(立刻停止),next_date(某一时刻停止)
end;
7、删除一个job
begin
dbms_job.remove(v_job);
end;
8、修改下一次运行时间
dbms_job.next_date(v_job,sysdate);
9、创建job的另一语法
declare job01 number;
begin
sys.dbms_job.submit(job =>job01,what=>'test01;',next_date=>to_date('30-11-2018 23:30:01','dd-mm-yyyy HH24:mi:ss'),interval=>'sysdate+1/1440'); 注意test01后面有个“;”,这个必须带上
commit;
end;
10、实例操作截图
image.png
网友评论