解决方案 »

  1.   

    将循环处更改一下:
        LOOP
          fetch cur_lzkh into idstr;
          EXIT WHEN cur_lzkh%NOTFOUND;
          Result := Result || idstr || ',';
        END LOOP;
      

  2.   

    你这很多错了,改良下create or replace function get_lzkh_kfjfxq(sqls in varchar2,
                                               kfrq in varchar2)
      RETURN varchar2 is
      Result varchar2(4000);
      cursor cur_lzkh is
        select id
          from lzkh_kfjfxq
         where kfjfrq || jgm || kfjfms = sqls
           and kfjfrq = kfrq;
      idstr cur_lzkh%rowtype;   
    begin
      Result := '';
      open cur_lzkh;
      loop
        fetch cur_lzkh into idstr;
        exit when cur_lzkh%notfound;
        Result := Result || idstr.id || ',';
      end loop;
      Result := substr(Result, 1, LENGTH(Result) - 1);
      close cur_lzkh;
      RETURN(Result);
    end get_lzkh_kfjfxq;另外 我觉得wm_concat函数就能实现你的要求了吧