1,很多时候一个列对应的多个key值,写个oracle数据库的处理方法。
思路:查询满足条件的游标,遍历游标拼接为一个值显示
create or replace function Get_Pln_OpmodeByCntrno(cntrno in varchar)
return varchar
is
resStr varchar(2000);
begin
--游标获取cntrno 对应所有的pln_opmode
declare
cursor statues_cur is select a.pln_opmode from ( select p.pln_opmode,pc.plc_cntrno from web_pas_plan_containers pc
left join web_pas_plans p on p.pln_planno=pc.plc_pln_planno where pc.plc_cntrno=cntrno ) a;
begin
for statue in statues_cur loop
resStr:=resStr || ps_s_get_codenm_f('OPMODE',statue.pln_opmode ) || ','; --ps_s_get_codenm_f 转为中文显示的方法
end loop;
resStr:=substr(resStr,1,length(resStr) -1 ); --去除最后的逗号
end;
return resStr;
end Get_Pln_OpmodeByCntrno;