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;