zoukankan      html  css  js  c++  java
  • Oracle Procedure模板

    CREATE OR REPLACE PROCEDURE 存储过程名(hash_num in number, hash_value in number, -- hash值
                                          batch_num in NUMBER DEFAULT 5000, -- 一批处理数
                                          commitnum IN NUMBER DEFAULT 500, -- 一次提交数
                                          beginhour IN NUMBER DEFAULT 0, -- 开始时间
                                          endhour IN NUMBER DEFAULT 17 -- 结束时间
                                          ) AS 
      /*
      CREATE DATE:时间 
      CREATE BY:工号
      DESC : 存储过程功能描述
      */
    -- 提取数据
    CURSOR cursor_name IS SELECT t.*,ROWID FROM tt_telhis_src t WHERE nvl(t.deal_flg,0) = 0
    AND dbms_utility.get_hash_value(t.fulltel,0,hash_num) = hash_value AND rownum <= batch_num;
    -- 游标结构声明
    v_cursor cursor_name % ROWTYPE;
    -- 记录处理条数
    procnum NUMBER DEFAULT 0;
    BEGIN
      -- 不在时间段内,job空跑
      IF NOT (SYSDATE BETWEEN trunc(SYSDATE)+beginhour/24 AND trunc(SYSDATE) + endhour/24) THEN
        RETURN;
      END IF;
      FOR X IN v_cursor LOOP
        -- 业务逻辑
        
        -- 批次提交
        procnum := procnum + 1;
        IF MOD(procnum, commitnum) = 0 THEN
          COMMIT;
        END IF;
      END LOOP;
      COMMIT;
      -- 异常处理
    EXCEPTION
      WHEN OTHERS THEN
        ROLLBACK;
        -- 记录异常日志
        PKG_SYS_LOG.ERROR_LOG(NULL,
                              '存储过程名',
                              SYSDATE,
                              SQLCODE,
                              SQLERRM,
                              DBMS_UTILITY.FORMAT_ERROR_BACKTRACE,
                              NULL);
    END 存储过程名;
    /
    

      

  • 相关阅读:
    第一阶段SCRUM冲刺10
    第一阶段SCRUM冲刺09
    第一阶段SCRUM冲刺08
    单词统计续
    第十一周学习报告
    第一阶段SCRUM冲刺07
    第一阶段SCRUM冲刺06
    第一阶段SCRUM冲刺05
    十天冲刺08
    十天冲刺07
  • 原文地址:https://www.cnblogs.com/fubinhnust/p/9928688.html
Copyright © 2011-2022 走看看