create or replace procedure P_DM_VOICE_TOT_M10(V_ACCT_DATE VARCHAR2,
V_RETCODE  OUT VARCHAR2,
V_RETINFO  OUT VARCHAR2) IS
/*@
****************************************************************
*名称 --%@NAME:P_DM_VOICE_TOT_M10
*功能描述 --%@COMMENT:移动业务订购实例短信汇总信息(2G-日)
*执行周期 --%@PERIOD:月
*参数 --%@PARAM:V_ACCT_DAY  执行时间,格式YYYYMMDD
*参数 --%@PARAM:V_RETCODE  过程运行结束成功与否标志(SUCCESS/FAIL)
*参数 --%@PARAM:V_RETINFO  过程运行结束成功与否描述
*创建人 --%@CREATOR: ghm
*创建时间 --%@CREATED_TIME:2012-07-17
*备注 --%@REMARK:
*来源表 --%@FROM: BDWA.DM_VOICE_TOT_M10@ODSDB
*目标表 --%TO: DM_VOICE_TOT_M10
*修改记录 --%@MODIFY: 姓名 日期 修改说明
******************************************************************
@*/
V_ROWCOUNT  NUMBER; --用于保存记录数
V_PKG        VARCHAR2(40); --过程包名
V_PROCNAME  VARCHAR2(100); --过程名
V_TIME      DATE; ----当前时间,用于保存过程开始执行时间
V_LOG_MSG    VARCHAR2(100); ----日志内容
V_STRSQL    VARCHAR2(1000);
V_ACCT_MONTH varchar2(6);
V_ACCT_DAY  varchar2(2);
BEGIN
V_PKG        := 'SRC';
V_PROCNAME  := 'SRC.P_DM_VOICE_TOT_M10';
V_TIME      := SYSDATE;
V_LOG_MSG    := '汇表';
/*V_ACCT_MONTH := substr(V_ACCT_DATE, 1, 6);
V_ACCT_DAY  := substr(V_ACCT_DATE, 7, 2);*/
--插入开始日志
SRC.P_INSERT_LOG(V_ACCT_DATE,
V_PKG,
V_PROCNAME,
V_LOG_MSG,
V_TIME,
'DM_VOICE_TOT_M10');
--删除当期数据
V_STRSQL := 'truncate TABLE DM_VOICE_TOT_M10';
EXECUTE IMMEDIATE V_STRSQL;
COMMIT;
--插入数据
INSERT /*+APPEND*/
INTO DM_VOICE_TOT_M10
SELECT * FROM bi_rw.DM_VOICE_TOT_M10@ODSDB T;
--获得记录数
V_ROWCOUNT := SQL%ROWCOUNT;
COMMIT;
--过程执行成功,更新日志
V_RETCODE := 'SUCCESS';
V_RETINFO := '结束';
-
- 变更日志信息
SRC.P_UPDATE_LOG(V_ACCT_DATE,
V_PKG,
V_PROCNAME,
V_RETCODE,
V_RETINFO,
SYSDATE,
V_ROWCOUNT);
--异常
EXCEPTION
WHEN OTHERS THEN
V_RETCODE := 'FAIL';
V_RETINFO := SQLERRM;
SRC.P_UPDATE_LOG(V_ACCT_DATE,
V_PKG,
V_PROCNAME,
V_RETCODE,
V_RETINFO,
SYSDATE,
V_ROWCOUNT);
end P_DM_VOICE_TOT_M10;
------------------------------
-
----------------------------
create or replace procedure P_DM_VOICE_TOT_M11(V_ACCT_DATE VARCHAR2,
V_RETCODE  OUT VARCHAR2,
V_RETINFO  OUT VARCHAR2) IS
/*@
****************************************************************
*名称 --%@NAME:P_DM_VOICE_TOT_M11
*功能描述 --%@COMMENT:移动业务订购实例短信汇总信息(2G-日)
*执行周期 --%@PERIOD:月
*参数 --%@PARAM:V_ACCT_DAY  执行时间,格式YYYYMMDD
*参数 --%@PARAM:V_RETCODE  过程运行结束成功与否标志(SUCCESS/FAIL)
*参数 --%@PARAM:V_RETINFO  过程运行结束成功与否描述
*创建人 --%@CREATOR: ghm
*创建时间 --%@CREATED_TIME:2012-07-17
*备注 --%@REMARK:
*来源表 --%@FROM: BDWA.DM_VOICE_TOT_M11@ODSDB
*目标表 --%TO: DM_VOICE_TOT_M11
*修改记录 --%@MODIFY: 姓名 日期 修改说明
******************************************************************
@*/
V_ROWCOUNT  NUMBER; --用于保存记录数
V_PKG        VARCHAR2(40); --过程包名
V_PROCNAME  VARCHAR2(100); --过程名
V_TIME      DATE; ----当前时间,用于保存过程开始执行时间
V_LOG_MSG    VARCHAR2(100); ----日志内容
V_STRSQL    VARCHAR2(1000);
V_ACCT_MONTH varchar2(6);
V_ACCT_DAY  varchar2(2);
BEGIN
V_PKG        := 'SRC';
V_PROCNAME  := 'SRC.P_DM_VOICE_TOT_M11';
V_TIME      := SYSDATE;
V_LOG_MSG    := '汇表';
/
*V_ACCT_MONTH := substr(V_ACCT_DATE, 1, 6);
V_ACCT_DAY  := substr(V_ACCT_DATE, 7, 2);*/
--插入开始日志
SRC.P_INSERT_LOG(V_ACCT_DATE,
V_PKG,
V_PROCNAME,
V_LOG_MSG,
V_TIME,
'DM_VOICE_TOT_M11');
--删除当期数据
V_STRSQL := 'truncate TABLE DM_VOICE_TOT_M11';
sql存储过程实例EXECUTE IMMEDIATE V_STRSQL;
COMMIT;
--插入数据
INSERT /*+APPEND*/
INTO DM_VOICE_TOT_M11
SELECT * FROM bi_rw.DM_VOICE_TOT_M11@ODSDB T;
--获得记录数
V_ROWCOUNT := SQL%ROWCOUNT;
COMMIT;
--过程执行成功,更新日志
V_RETCODE := 'SUCCESS';
V_RETINFO := '结束';
-- 变更日志信息
SRC.P_UPDATE_LOG(V_ACCT_DATE,
V_PKG,
V_PROCNAME,
V_RETCODE,
V_RETINFO,
SYSDATE,
V_ROWCOUNT);
--异常
EXCEPTION
WHEN OTHERS THEN
V_RETCODE := 'FAIL';
V_RETINFO := SQLERRM;
SRC.P_UPDATE_LOG(V_ACCT_DATE,
V_PKG,
V_PROCNAME,
V_RETCODE,
V_RETINFO,
SYSDATE,
V_ROWCOUNT);
end P_DM_VOICE_TOT_M11;
-
------------------------------------
-----------------------------------
create or replace procedure P_DM_VOICE_TOT_M12(V_ACCT_DATE VARCHAR2,
V_RETCODE  OUT VARCHAR2,
V_RETINFO  OUT VARCHAR2) IS
/*@
****************************************************************
*名称 --%@NAME:P_DM_V
OICE_TOT_M12
*功能描述 --%@COMMENT:移动业务订购实例短信汇总信息(2G-日)
*执行周期 --%@PERIOD:月
*参数 --%@PARAM:V_ACCT_DAY  执行时间,格式YYYYMMDD
*参数 --%@PARAM:V_RETCODE  过程运行结束成功与否标志(SUCCESS/FAIL)
*参数 --%@PARAM:V_RETINFO  过程运行结束成功与否描述
*创建人 --%@CREATOR: ghm
*创建时间 --%@CREATED_TIME:2012-07-17
*备注 --%@REMARK:
*来源表 --%@FROM: BDWA.DM_VOICE_TOT_M12@ODSDB
*目标表 --%TO: DM_VOICE_TOT_M12
*修改记录 --%@MODIFY: 姓名 日期 修改说明
******************************************************************
@*/
V_ROWCOUNT  NUMBER; --用于保存记录数
V_PKG        VARCHAR2(40); --过程包名
V_PROCNAME  VARCHAR2(100); --过程名
V_TIME      DATE; ----当前时间,用于保存过程开始执行时间
V_LOG_MSG    VARCHAR2(100); ----日志内容
V_STRSQL    VARCHAR2(1000);
V_ACCT_MONTH varchar2(6);
V_ACCT_DAY  varchar2(2);
BEGIN
V_PKG        := 'SRC';
V_PROCNAME  := 'SRC.P_DM_VOICE_TOT_M12';
V_TIME      := SYSDATE;
V_LOG_MSG    := '汇表';
/*V_ACCT_MONTH := substr(V_ACCT_DATE, 1, 6);
V_ACCT_DAY  := substr(V_ACCT_DATE, 7, 2);*/
--插入开始日志
SRC.P_INSERT_LOG(V_ACCT_DATE,
V_PKG,
V_PROCNAME,
V_LOG_MSG,
V_TIME,
'DM_VOICE_TOT_M12');
-
-删除当期数据
V_STRSQL := 'truncate TABLE DM_VOICE_TOT_M12';
EXECUTE IMMEDIATE V_STRSQL;
COMMIT;
--插入数据
INSERT /*+APPEND*/
INTO DM_VOICE_TOT_M12
SELECT * FROM bi_rw.DM_VOICE_TOT_M12@ODSDB T;
--获得记录数
V_ROWCOUNT := SQL%ROWCOUNT;
COMMIT;
-
-过程执行成功,更新日志
V_RETCODE := 'SUCCESS';
V_RETINFO := '结束';
-- 变更日志信息
SRC.P_UPDATE_LOG(V_ACCT_DATE,
V_PKG,
V_PROCNAME,
V_RETCODE,
V_RETINFO,
SYSDATE,
V_ROWCOUNT);
-
-异常
EXCEPTION
WHEN OTHERS THEN
V_RETCODE := 'FAIL';
V_RETINFO := SQLERRM;
SRC.P_UPDATE_LOG(V_ACCT_DATE,
V_PKG,
V_PROCNAME,
V_RETCODE,
V_RETINFO,
SYSDATE,
V_ROWCOUNT);
end P_DM_VOICE_TOT_M12;
------------------------------------
------------------------------------
create or replace procedure p_DM_VOICE_TOT_M20(
V_RETCODE  OUT VARCHAR2,
V_RETINFO  OUT VARCHAR2) IS
/*@
****************************************************************
*名称 --%@NAME:p_DM_VOICE_TOT_M20
*功能描述 --%@COMMENT:统计
*执行周期 --%@PERIOD:日
*参数 --%@PARAM:V_ACCT_DAY  执行时间,格式YYYYMMDD
*参数 --%@PARAM:V_RETCODE  过程
运行结束成功与否标志(SUCCESS/FAIL)
*参数 --%@PARAM:V_RETINFO  过程运行结束成功与否描述
*创建人 --%@CREATOR: 宋勇
*创建时间 --%@CREATED_TIME:2012-08-01
*备注 --%@REMARK:
*来源表 --%@FROM:
*目标表 --%TO:
*修改记录 --%@MODIFY: 姓名 日期 修改说明
******************************************************************
@*/
V_ROWCOUNT NUMBER; --用于保存记录数
V_PKG      VARCHAR2(40); --过程包名
V_PROCNAME VARCHAR2(100); --过程名
V_TIME    DATE; ----当前时间,用于保存过程开始执行时间
V_LOG_MSG  VARCHAR2(100); ----日志内容
V_STRSQL  VARCHAR2(1000);
BEGIN
V_PKG      := 'SRC';
V_PROCNAME := 'P_DM_VOICE_TOT_M20';
V_TIME    := SYSDATE;
V_LOG_MSG  := '统计标准差';
--插入开始日志
SRC.P_INSERT_LOG(' ',
V_PKG,
V_PROCNAME,
V_LOG_MSG,
V_TIME,
'p_DM_VOICE_TOT_M20');
V_STRSQL := 'truncate table DM_VOICE_TOT_M20';
EXECUTE IMMEDIATE V_STRSQL;
COMMIT;
INSERT  Into DM_VOICE_TOT_M20
SELECT B.*,
A.CDR_DENS_STD1,
A.DUR_DENS_STD1,
A.OPP_MOBILE_STD1,
A.CDR_DENS_CV1,
A.DUR_DENS_CV1,
A.OPP_MOBILE_CV1
FROM (SELECT t.SVC_ID,
F_BYTESTD(t.CDR_DENS) CDR_DENS_STD1,
F_BYTESTD(t.DUR_DENS) DUR_DENS_STD1,
F_BYTESTD(t.OPP_MOBILE) OPP_MOBILE_STD1,
F_BYTECV(t.CDR_DENS) CDR_DENS_CV1,
F_BYTECV(t.DUR_DENS) DUR_DENS_CV1,
F_BYTECV(t.OPP_MOBILE) OPP_MOBILE_CV1
FROM src.DM_VOICE_TOT_M10 T) A,
(SELECT t.SVC_ID,
F_BYTESTD(t.CDR_DENS) CDR_DENS_STD,
F_BYTESTD(t.DUR_DENS) DUR_DENS_STD,
F_BYTESTD(t.OPP_MOBILE) OPP_MOBILE_STD,
F_BYTECV(t.CDR_DENS) CDR_DENS_CV,
F_BYTECV(t.DUR_DENS) DUR_DENS_CV,
F_BYTECV(t.OPP_MOBILE) OPP_MOBILE_CV,
t.FST_DATE,
t.LST_DATE,
t.GENT_TAG,
30 - F_BYTECNT(t.CDR_DENS, '0') CDR_DENS_CNT,
30 - F_BYTECNT(t.DUR_DENS, '0') DUR_DENS_CNT,
30 - F_BYTECNT(t.OPP_MOBILE, '0') OPP_MOBILE_CNT,
F_BYTESUM(t.DUR_DENS) / decode(F_BYTESUM(t.CDR_DENS),0,1,F_BYTESUM(t.CDR_DENS)) DUR_CDR,
F_BYTESUM(t.CDR_DENS) / 30 CDR_30,
F_BYTESUM(t.DUR_DENS) / 30 DUR_30,
F_BYTESUM(t.CDR_DENS) / DECODE((30 - F_BYTECNT(t.CDR_DENS, '0')),0,1,(30 - F_BYTECNT(t.CDR_DENS, '0'))) CDR_CNT,
F_BYTESUM(DUR_DENS) / DECODE((30 - F_BYTECNT(t.DUR_DENS, '0')),0,1,(30 - F_BYTECNT(t.DUR_DENS, '0'))) DUR_CNT
FROM src.DM_VOICE_TOT_M13 T) B
WHERE A.SVC_ID = B.SVC_ID;
--获得记录数
V_ROWCOUNT := SQL%ROWCOUNT;
COMMIT;
--过程执行成功,更新日志
V_RETCODE := 'SUCCESS ';
V
_RETINFO := '结束 ';
-- 变更日志信息
SRC.P_UPDATE_LOG(' ',
V_PKG,
V_PROCNAME,
V_RETCODE,
V_RETINFO,
SYSDATE,
V_ROWCOUNT);
--异常
EXCEPTION
WHEN OTHERS THEN
V_RETCODE := ' FAIL ';
V_RETINFO := SQLERRM;
SRC.P_UPDATE_LOG(' ',
V_PKG,
V_PROCNAME,
V_RETCODE,
V_RETINFO,
SYSDATE,
V_ROWCOUNT);
END;

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。