posts - 38, comments - 2, trackbacks - 0, articles - 0
  BlogJava :: 首页 :: 新随笔 :: 联系 :: 聚合  :: 管理

ORACLE之定时器JOB

Posted on 2011-09-12 15:04 AntiquMan 阅读(274) 评论(0)  编辑  收藏 所属分类: Oracle
JOB任务,在此写个总结,以备日后之需。 

用一个存储过程创建并执行JOB,代码如下: 
Sql代码  
  1. CREATE OR REPLACE PROCEDURE P_TEST_JOB  
  2. IS  
  3. --判断任务是否已被创建,若任务被创建过,则 isExist > 0  
  4. isExist NUMBER := 0;  
  5. --归档任务标识  
  6. jobId NUMBER;  
  7. BEGIN  
  8.     SELECT COUNT(*) INTO isExist FROM ALL_JOBS J WHERE J.WHAT = '过程名;';  
  9.     --检查任务是否已被创建,如果已被创建,则不做操作  
  10.     IF isExist = 0 THEN  
  11.         --创建任务  
  12.         DBMS_JOB.submit(jobId,                --任务标识  
  13.                         '过程名;',             --任务要执行的存储过程,后边的分号不可略  
  14.                         SYSDATE,              --任务开始时间  
  15.                         'SYSDATE + 10/1440'); --任务执行周期,此处指每10分钟执行一次  
  16.         COMMIT;  
  17.         --运行任务  
  18.         DBMS_JOB.run(jobId);  
  19.         COMMIT;  
  20.     END IF;  
  21. END;  

执行此存储过程,在ORACLE运行的JOB列表里会出现新增的JOB,可以用 
Sql代码  
  1. SELECT * FROM ALL_JOBS J WHERE J.WHAT = '过程名;'  

只有注册用户登录后才能发表评论。


网站导航: