ORACLE之定时器JOB

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 = '过程名;'  

你可能感兴趣的:(ORACLE之定时器JOB)