数据库

本类阅读TOP10

·SQL语句导入导出大全
·SQL Server日期计算
·SQL语句导入导出大全
·SQL to Excel 的应用
·Oracle中password file的作用及说明
·MS SQLServer OLEDB分布式事务无法启动的一般解决方案
·sqlserver2000数据库置疑的解决方法
·一个比较实用的大数据量分页存储过程
·如何在正运行 SQL Server 7.0 的服务器之间传输登录和密码
·SQL中两台服务器间使用连接服务器

分类导航
VC语言Delphi
VB语言ASP
PerlJava
Script数据库
其他语言游戏开发
文件格式网站制作
软件工程.NET开发
统计不固定栏目的工资年报的存储过程

作者:未知 来源:月光软件站 加入时间:2005-2-28 月光软件站

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

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

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;




相关文章

相关软件