常用的oracle存储过程(Commonly used Oracle stored procedures)
常用的oracle存储过程(Commonly used Oracle stored procedures) 创建或替换程序p_dm_voice_tot_m10(v_acct_date VARCHAR2,
v_retcode出空,
v_retinfo了VARCHAR2)是
/ * @
***********************************************************
*****
*名称% @名称:p_dm_voice_tot_m10
*功能描述% @评论:移动业务订购实例短信汇总信息(2G日)
*执行周期% @期:月
*参数% @param:v_acct_day执行时间,格式YYYYMMDD
*参数% @param:v_retcode过程运行结束成功与否标志(成功/失败)
*参数% @param:v_retinfo过程运行结束成功与否描述
*创建人% @创作者:GHM
*创建时间% @ created_time:2012-07-17
*备注% @备注:
*来源
表
关于同志近三年现实表现材料材料类招标技术评分表图表与交易pdf视力表打印pdf用图表说话 pdf
%”:西部大开发。dm_voice_tot_m10 @ odsdb
*目标表%:dm_voice_tot_m10
*修改记录% @修改:姓名日期修改说明
***********************************************************
*******
@ * /
v_rowcount数;——用于保存记录数
v_pkg VARCHAR2(40);——过程包名
v_procname VARCHAR2(100);——过程名
v_time日期;----当前时间,用于保存过程开始执行时间
v_log_msg VARCHAR2(100);----日志内容
v_strsql VARCHAR2(1000);
v_acct_month VARCHAR2(6);
v_acct_day VARCHAR2(2);
开始
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);* /
——插入开始日志
p_insert_log(v_acct_date SRC,
v_pkg,
v_procname,
v_log_msg,
v_time,
“dm_voice_tot_m10”);
——删除当期数据
v_strsql:=“截断表dm_voice_tot_m10”;
立即执行v_strsql;
承诺;
——插入数据
插入/追加*
为dm_voice_tot_m10
SELECT * FROM bi_rw。dm_voice_tot_m10 @ odsdb T;
——获得记录数
v_rowcount:=成功操作的行的数量;
承诺;
——过程执行成功,更新日志
v_retcode:=“成功”;
v_retinfo:=“结束”;
——变更日志信息
p_update_log(v_acct_date SRC,
v_pkg,
v_procname,
v_retcode,
v_retinfo,
系统日期,
v_rowcount);
——异常
例外
当别人然后
v_retcode:=失败;
v_retinfo:= sqlerrm;
p_update_log(v_acct_date SRC,
v_pkg,
v_procname,
v_retcode,
(v _ retinfo.
sysdate.
(v _ rowcount).
end p _ dm _ voice _ tot _ m10.
article
---------------------------
create or replace procedure p _ dm _ voice _ tot _ m11 (v _ acct
_ date varchar2)
(v _ retcode out varchar2)
(v _ retinfo out varchar2)
/ *.
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
* *
* 名称 -% @ name: _ dm _ voice _ tot _ m11
* 功能描述 -% @: 移动业务订购实例短信汇总信息 (2g 日)
* 执行周期 -%) or 月
* @ param 参数 -% v _ acct _ day 执行时间, 格式yyyymmdd
* @ param 参数 -% v _ retcode 过程运行结束成功与否标志
(success / fail)
* @ param 参数 -% _ retinfo 过程运行结束成功与否描述: v
* -% 创建人 creator: ghm)
* 创建时间 -%) created _ time: 2012 / 06 / 17
* 备注 -%) remarks:
* 来源表 -%) from bdwa.dm _ voice _ _ m11 and odsdb.
* 目标表 -% (dm _ voice _ _ 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 _ return varchar2 (6);
(v _ acct _ day varchar2 (2);
begin
(v _ pkg: = 'src';
v: = src.p _ procname _ dm _ voice _ tot _ m11.
v: = sysdate _ time.
(v _ log _ msg: = 汇表.
/ * v _ acct _ month = (v _ acct _ substr, 1, 6).
(v _ acct _ day = (v _ acct _ substr, 7, 2); /
- 插入开始日志
src.p _ insert _ log (v _ acct _ date
(v _ pkg.
(v _ procname.
(v _ log _ msg
(v _ time
"_ voice _ early dm _ m11).
- 删除当期数据
v: = truncate table _ strsql dm _ voice _ tot _ m11.
execute immediate v _ strsql.
commit;
- 插入数据
insert append * / / * +
in _ voice _ tot _ m11)
select * from bi _ rw.dm _ voice _ tot _ m11 and odsdb.
- 获得记录数
v: = (% rowcount _ 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 _ voice _ 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 _ @ odsdb M12
* 目标表 -% 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: = sysdate _ team;
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 _ team.
'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: = sqlerrm _ retinfo.
src.p _ update _ log (v _ acct _ date
(v _ pkg.
(v _ procname.
(v _ retcode.
(v _ retinfo.
sysdate.
(v _ rowcount).
end p _ dm _ voice _ tot _ m12.
official
official
create or replace procedure p _ dm _ voice _ m20 (_.
(v _ retcode out varchar2)
(v _ retinfo out varchar2)
/ *.
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
* 名称 -% @ name: _ dm _ voice _ tot _ m20
* 功能描述 -% @: 统计
* 执行周期 -%) or 日
* @ param 参数 -% v _ acct _ day 执行时间, 格式yyyymmdd
* @ param 参数 -% v _ retcode 过程运行结束成功与否标志
(success / fail)
* @ param 参数 -% _ retinfo 过程运行结束成功与否描述: v
* 创建人 -%) 宋勇 creator:
* 创建时间 -%) created _ time: 2012 - 08 01
* 备注 -%) remarks:
* 来源表 -%) 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: = p _ _ procname) _ voice _ tot _ m20.
v: = sysdate _ time.
(v _ log _ msg: = 统计标准差.
- 插入开始日志
src.p _ insert _ log ("
(v _ pkg.
(v _ procname.
(v _ log _ msg
(v _ time
'_ dm _ voice _ tot _ m20);
v: = truncate table _ strsql dm _ voice _ tot _ m20.
execute immediate v _ strsql.
commit;
insert into dm _ voice _ _ m20.
select b *.
a.cdr _ in _ std1,
a.dur _ in _ std1,
a.opp mobile _ _ std1,
a.cdr _ in _ cv1.
a.dur _ in _ cv1.
a.opp _ _ cv1 cell
from (select t.svc _ id
(f _ bytestd (t.cdr _ in cor _ in _ std1,)
(f _ bytestd (t.dur _ in hard _ in _ std1,
(f _ bytestd (t.opp opp _ _ mobile) mobile _ std1,
(f _ bytecv (t.cdr _ in) cdr _ in _ cv1.
(f _ bytecv (t.dur _ dens) _ dens _ cv1 dur...
(f _ bytecv (t.opp _ mobile to mobile _ cv1 _) opp
from src.dm _ voice _ oct _ m10 (t),
t.svc _ (select id,
(f _ bytestd (t.cdr _ dens) cdr _ dens _ std,
(f _ bytestd (t.dur _ dens) dur _ dens _ std,
(f _ bytestd (t.opp _ opp _ mobile) mobile _ std,
(f _ bytecv (t.cdr _ dens) cdr _ dens _ cv.
(f _ bytecv (t.dur _ dens) dur _ dens _ cv.
(f _ bytecv (t.opp _ opp _ mobile) mobile _ cv.
t.fst _ date,
t.lst _ date,
t.gent _ member
_ bytecnt 30 f (t.cdr _ dens, '0') and cdr _ dens _ cnt.
_ bytecnt 30 f (t.dur _ dens, '0') _ dur dens _ cnt.
_ bytecnt 30 f (t.opp _ mobile, '0') _ opp mobile _ cnt.
(f _ bytesum (t.dur _ dens) / (f (decode _ bytesum t.cdr _ dens), f (0,1, _ bytesum t.cdr _ dur _ cdr, dens))
(f _ bytesum (t.cdr _ dens cdr _ 30 / 30).
(f _ bytesum (t.dur _ dens) / 30 of 30 _ dur...
(f _ bytesum (t.cdr _ dens decode ((30) / f (_ bytecnt t.cdr _ dens, '0'), (0,1), 30 (f _ bytecnt t.cdr _ dens, '0')) and cdr _ cnt.
(f _ bytesum (dur _ dens decode ((30) / f (_ bytecnt t.dur _ dens, '0'), (0,1), 30 (f _ bytecnt t.dur _ dens, '0'))) _ cnt dur
from src.dm _ voice _ oct _ m13 t) b
a.svc _ b.svc _ where id = id;
- 获得记录数
v: = rowcount _ rowcount sql%;
commit;
- 过程执行成功, 更新日志
_ retcode v: = 'a';
_ retinfo v: = '结束';
- 变更日志信息
src.p _ update _ log ('',
_ pkg v,
_ procname v,
_ retcode v,
_ retinfo v,
sysdate,
_ rowcount v);
- 异常
exception
when others then
_ retcode v: = 'fail';
v: = _ retinfo sqlerrm;
src.p _ update _ log ('',
_ pkg v,
_ procname v,
_ retcode v,
_ retinfo v,
sysdate,
_ rowcount v);
end;