sql

create or replace function get(p_id in varchar2) 
return varchar2 
is
Result varchar2(100);
cursor rad_cursor(v_id varchar2) is
        select distinct name from a 
        where id=v_id ;
 
begin
for v_sor in rad_cursor(p_id) loop
    Result:=Result||v_sor.name;
end loop; 
return(Result);
end get;
/select id,get(id) name from a group by id;

解决方案 »

  1.   

    beckhambobo:
    老兄,这种函数还是挺有用的,
    这样的问题经常出现
      

  2.   

    关于此问题的扩展:
     
    大家讨论一下,能不能写出来一个函数  get(v_col in varchar2) return varchar2这样可以用 select id , get(name) from a group by id;也就是说,这个get就成了一个聚集函数,实现通用的效果