|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
对于update操作,event中依次记录旧行,新行的值。存储历程|统计
本存储历程乐成完成行列转换统计
人为数据是竖表,即一个员工的人为对应多条人为栏目标纪录
createorreplaceprocedureprc_rs_gzndbb(p_tableinvarchar2)is
/*===================================================================================================
称号:prc_rs_gzndbb(procedure)
参数:传进:p_tablevarchar2
挪用:PRC_YD_SHTZTJYH前往:
功效:统计员工人为发放年度报表
前往:把统计了局拔出p_table表中
编写工夫:2005-2-21
修正人:
修正内容:
修正工夫:
=====================================================================================================*/
v_lmmcvarchar2(20);--栏目称号
v_sqlvarchar2(1000);
--界说取人为栏目标游标
cursorcur_lmmcis
selectdistinctlmmc
FROMtmp_gztjlsb;
begin
--界说静态SQL
v_sql:=selectrydm,xm;
--遍历人为栏目并拼写成拔出的SQL
forcur_lmmc_recincur_lmmcloop
v_lmmc:=cur_lmmc_rec.lmmc;
v_sql:=v_sql||,||sum(decode(lmmc||,||v_lmmc||,je))||||v_lmmc;
endloop;
v_sql:=v_sql||fromtmp_gztjlsbgroupbyrydm,xm;
executeimmediateinsertinto||p_table||||v_sql;
commit;
endprc_rs_gzndbb;
这类操作的执行过程是,1)按照新的表定义建立一个临时表tmpa,2)将原表数据拷贝到临时表,3)将原始表改名tmpb,4)将tmpa改名为原表名,5)将tmpb删除。 |
|