<script type="text/javascript">
</script> <script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"> </script>
本 存储过程成功实现行列转换统计
工资数据是竖表,即一个员工的工资对应多条工资栏目的记录
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';
executeimmediate'insertinto'||p_table||''||v_sql;
commit;
endprc_rs_gzndbb;
<script type="text/javascript"> </script> <script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"> </script>
<script type="text/javascript">
</script><script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"> </script>
本 存储过程成功实现行列转换统计
工资数据是竖表,即一个员工的工资对应多条工资栏目的记录
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';
executeimmediate'insertinto'||p_table||''||v_sql;
commit;
endprc_rs_gzndbb;
<script type="text/javascript"> </script> <script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"> </script>
<script type="text/javascript">
</script><script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"> </script>