加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

oracle 创建定时任务

发布时间:2020-12-12 12:43:28 所属栏目:百科 来源:网络整理
导读:1 --1.创建测试表 2 create table job_test(id integer,add_time date); 3 4 --2.创建存储过程 5 create or replace procedure prc_job_test is 6 begin 7 insert into job_test values (SEQ_TM_ID.nextval,sysdate); 8 commit; 9 end prc_job_test;10 11 --
 1 --1.创建测试表
 2 create table job_test(id integer,add_time date);
 3 
 4 --2.创建存储过程
 5 create or replace procedure prc_job_test is  
 6 begin  
 7   insert into job_test values (SEQ_TM_ID.nextval,sysdate);  
 8   commit;  
 9 end prc_job_test;
10 
11 --3.创建任务
12 declare  
13   tm_job number;  
14 begin  
15   sys.dbms_job.submit(tm_job,--任务名称  
16                       ‘prc_job_test;‘,--执行的过程  
17                       sysdate,--执行时间  
18                       ‘sysdate+1/(24*60*10)‘);--下次执行时间  
19 end;
20 
21 --4.查询任务
22 select * from dba_jobs;
23 
24 select t.*,t.rowid from job_test t order by add_time desc
25 
26 --5.执行任务
27 begin  
28 dbms_job.run(25);--25为任务的id  
29 end;   
30 
31 --6.停止任务
32 begin
33  dbms_job.broken(25,true,sysdate);
34  commit;
35 end;
36 
37 --7.删除任务
38 begin  
39 dbms_job.remove(25);  
40 end;   

1 --8.删除任务脚本
2 begin
3   for v in(select job from dba_jobs where what = ‘prc_job_test;‘) loop
4     dbms_job.remove(v.job);
5   end loop;
6   commit;
7 end;

?



?

完整脚本例子:

?

 1 --1.删除表脚本
 2 DECLARE num NUMBER ;
 3 BEGIN
 4   SELECT
 5     COUNT (1) INTO num
 6   FROM
 7     user_tables
 8   WHERE
 9     TABLE_NAME = ‘JOB_TEST‘ ;
10   IF num = 1 THEN
11     EXECUTE IMMEDIATE ‘
12 drop table JOB_TEST
13     ‘ ;
14   END IF;
15 END;
16 /
17 --2.创建测试表
18 create table job_test(id integer,add_time date);
19 /
20 --3.创建存储过程
21 create or replace procedure PRC_JOB_TEST is  
22 begin  
23   insert into job_test values (1,sysdate);  
24   commit;  
25 end prc_job_test;
26 /
27 --4.删除任务脚本
28 begin
29   for v in(select job from dba_jobs where what = ‘PRC_JOB_TEST;‘) loop
30     dbms_job.remove(v.job);
31   end loop;
32   commit;
33 end;
34 /
35 --5.创建任务
36 declare  
37   tm_job number;  
38 begin  
39   sys.dbms_job.submit(tm_job,--任务名称  
40                       ‘PRC_JOB_TEST;‘,--执行的过程  
41                       sysdate,--执行时间  
42                       ‘sysdate+1/(24*60*10)‘);--下次执行时间  
43   COMMIT;
44 end;原文链接:https://www.cnblogs.com/zyx-/p/8032954.html

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读