• oracle创建定时任务


     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;
    除了写代码还会干什么
  • 相关阅读:
    Java初学者笔记六:反射
    为了应对某人的需求,写了一个简单的聊天室内容
    WEB安全番外第六篇--关于通过记录渗透工具的Payload来总结和学习测试用例
    WannaCry应急排查思路
    HFS的远程命令执行漏洞(RCE)
    Java初学者笔记五:泛型处理
    域控场景下windows安全日志的分析--审计认证行为和命令的历史记录
    iOS UI基础-9.1 UITableView 团购
    iOS UI基础-9.0 UITableView基础
    iOS UI基础-8.0 UIAlertView使用
  • 原文地址:https://www.cnblogs.com/zyx-/p/8032954.html
Copyright © 2020-2023  润新知