Oracle抽取数据的存储过程

这个Oracle存储过程P_7DAYS用于计算地市因子,循环遍历过去7天,从ODS_STATISTICS_FACTOR表中获取因子信息,根据定义的SQL计算语句更新ODS_STATISTICS_DAY_VALUE表,如果遇到异常则记录到MS_EXCEPTION_LOG表中。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

CREATE OR REPLACE PROCEDURE P_7DAYS  --地市因子计算过程,抽取数据
( P_DATE   IN DATE)
  /*
  
  */
 AS
  SQLCODE       INTEGER;
  V_SQLSTATE    VARCHAR2(300);        --用于保存出错时的SQLSTATE码
  V_SQLCODE     VARCHAR2(10);   --
  V_TN          VARCHAR2(100);  --用于记录操作的表名
  V_OP          VARCHAR2(100);  --记录进行的操作
  V_EXCP_REMARK VARCHAR2(1000); --
  ERRORMSG      VARCHAR2(300);  --用于保存出错信息

  V_BUSINESS_DATE   DATE;    --抽取月份
  V_FACTOR_CODE      VARCHAR2(32);       --统计因子代码
  V_FACTOR_NAME      VARCHAR2(200);      --统计因子名称
  V_MONTH_DAYS       INTEGER;
  V_SQL_FACTOR       VARCHAR2(200); --
  V_DEF_SQL          VARCHAR2(2000); --
  P_START_DATE       DATE;
  P_END_DATE         DATE;
  P_QTY              NUMBER(22,7);
  V_SQL_QTY          VARCHAR2(4000);
  V_UNIT             VARCHAR2(10);
  V_COMPANY_ID       VARCHAR2(32); -- 公司代码
  TYPE CUR_TYPE IS REF CURSOR;
  C_FACTOR CUR_TYPE; --
  C_QTY CUR_TYPE; --
  i    INTEGER;
 BEGIN
      FOR i IN 0..6 LOOP
        --此过程调度在凌晨执行
        V_TN := '开始取初始化参数1'; --月份
        SELECT    TRUNC(P_DATE-i)  INTO  V_BUSINESS_DATE    FROM      DUAL;
        V_TN := '开始取初始化参数2'; --公司
        --SELEC

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值