zoukankan      html  css  js  c++  java
  • oracle job

    create  job 语句:

    declare
    job number;
    begin
    sys.dbms_job.submit(job,'PRODUCT;', --job要执行的工作(范例为要执行的存储过程)to_date('23-02-2012', 'dd-mm-yyyy'),'TRUNC(SYSDATE+1)'); --执行job的周期(每天凌晨零点)
    dbms_output.put_line(job);
    end;

    job时间周期:
    每天运行一次 'SYSDATE + 1'
    每小时运行一次 'SYSDATE + 1/24'
    每10分钟运行一次 'SYSDATE + 10/(60*24)'
    每30秒运行一次 'SYSDATE + 30/(60*24*60)'
    每隔一星期运行一次 'SYSDATE + 7'

    ------------

    例子:

    第一步:存储过程

     1 CREATE OR REPLACE PROCEDURE PROC_QUALIFIED_STATUS
     2 AS
     3 MCOUNT INT;
     4 BEGIN
     5   FOR  REC IN (SELECT ID_NUMERIC FROM SAMPLE S WHERE  S.STATUS='C' )
     6  LOOP
     7    SELECT COUNT(0) INTO MCOUNT FROM  TEST T JOIN RESULT R ON T.TEST_NUMBER=R.TEST_NUMBER WHERE R.NAME='结论' AND R.TEXT='不符合规定' AND T.SAMPLE=REC.ID_NUMERIC;
     8      IF MCOUNT>0 THEN
     9        UPDATE SAMPLE S SET S.CT_QUALIFIED_STATUS='不符合规定',S.CT_RELEASE_STATUS='DSH' WHERE S.ID_NUMERIC=REC.ID_NUMERIC;
    10        ELSE 
    11            UPDATE SAMPLE S SET S.CT_QUALIFIED_STATUS='符合规定',S.CT_RELEASE_STATUS='DSH' WHERE S.ID_NUMERIC=REC.ID_NUMERIC;
    12            END IF;
    13    END LOOP;
    14    COMMIT;
    15    EXCEPTION
    16   WHEN OTHERS THEN
    17     ROLLBACK;
    18   END;

    第二步:job创建

    1 declare 
    2 job number;
    3 begin
    4   sys.dbms_job.submit(job,'PROC_QUALIFIED_STATUS;',to_Date('2013-12-31','yyyy-MM-dd'),'sysdate+30/(60*24*60)');
    5   dbms_output.put_line(job);
    6   end;
    View Code
  • 相关阅读:
    ES5-Array的新增方法
    ES5-Object扩展方法
    JS利用HTML5的Web Worker实现多线程
    git合并分支到master上面
    JS线程及回调函数执行
    JS实现继承
    蓝桥杯 高精度加法
    蓝桥杯 阶乘计算
    【题集】k倍区间(抽屉原理)
    代码填空:全排列
  • 原文地址:https://www.cnblogs.com/hfliyi/p/3628121.html
Copyright © 2011-2022 走看看