create or replace function fun_getdwcsx(tpdid in varchar2)
return varchar2
is
result varchar2(2000);
tsql VARCHAR2 (1000);
--tmpvar VARCHAR2 (500);
i number(4);
cursor cur_ptd is SELECT dwcsx from pir_tpsxsqd_dwc where tpid in( select REPLACE (tpdid, ',', ''',''') from dual) order by dwcsx asc ;
c_row cur_ptd%rowtype;
begin
dbms_output.put_line(tpdid);
--tmpvar:= '''' || REPLACE (tpdid, ',', ''',''') || '''';
tsql:='';
i:=1;
for c_row in cur_ptd loop
IF 1<>i THEN
tsql:=tsql||chr(10)||to_char(i)||'.'||c_row.dwcsx;
ELSE
tsql:=to_char(i)||'.'||c_row.dwcsx;
END IF;
i:=i+1;
end loop;
--tsql:='select wmsys.wm_concat(dwcsx) from pir_tpsxsqd_dwc where tpid in ('||tmpvar||')';
--EXECUTE IMMEDIATE tsql INTO result;
result:=tsql;
return(result);
end fun_getdwcsx;
创建oracle函数实现一列多行显示在一列一行里
最新推荐文章于 2024-10-12 22:35:37 发布