統計不固定欄目的工資年報的存儲過程

本存儲過程成功實現行列轉換統計

工資數據是豎表,即一個員工的工資對應多條工資欄目的記錄

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;

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章