createorreplacefunction getcustprodinstaddr(in_CustId innumber,in_area_code innumber)returnvarchar2is Result varchar2(4000); v_acc_nbr varchar2(400); tempCount number:=1; type ref_cursor isref cursor; v_cursor ref_cursor; begin Result:=''; open v_cursor for 'select install_addr from tb_prd_prd_inst_'||to_char(in_area_code)|| ' where PRD_INST_STAS_ID not in(''1003'',''1101'',''1401'',''1102'') and own_cust_id='||to_char(in_CustId) ||' order by install_date desc';
loop fetch v_cursor into v_acc_nbr; exit when v_cursor%notfound; if(tempCount>8)then goto label_end; endif; Result:=v_acc_nbr||','||Result; tempCount := tempCount +1;
end loop;
<<label_end>> close v_cursor; return(Result); exception when others then if(v_cursor%isopen)then close v_cursor; endif; return''; end getcustprodinstaddr;