统计不固定栏目的工资年报的存储过程

本存储过程成功实现行列转换统计

工资数据是竖表,即一个员工的工资对应多条工资栏目的记录

create or replace procedure prc_rs_gzndbb( p_table in varchar2) is
/*===================================================================================================
名称:prc_rs_gzndbb(procedure)
参数:传入:p_table varchar2
调用:PRC_YD_SHTZTJYH 返回:
功能:统计员工工资发放年度报表
返回:把统计结果插入p_table表中
作者:
编写时间:2005-2-21
修改人:
修改内容:
修改时间:
=====================================================================================================*/
v_lmmc varchar2(20);--栏目名称
v_sql varchar2(1000);
--定义取工资栏目的游标
cursor cur_lmmc is
select distinct lmmc
FROM tmp_gztjlsb;
begin     
     --定义动态SQL
     v_sql:='select rydm,xm';
     --遍历工资栏目并拼写成插入的SQL
     for cur_lmmc_rec in cur_lmmc loop
         v_lmmc:=cur_lmmc_rec.lmmc;
         v_sql:=v_sql||','||'sum(decode(lmmc'||','''||v_lmmc||''',je))'||' '||v_lmmc;        
     end loop; 
     v_sql:=v_sql||' from tmp_gztjlsb group by rydm,xm';
     execute immediate 'insert into '||p_table||' '||v_sql;
     commit;
end prc_rs_gzndbb;

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值