读书人

ORACLE GOURP BY 一个字段后另一个字

发布时间: 2012-12-20 09:53:21 作者: rapoo

ORACLE GOURP BY 一个字段后,另一个字段值以逗号分割合并

参考:http://www.jb51.net/article/20948.htm

?

?

?

/*** 功能: ORACLE GOURP BY 一个字段后,另一个字段值以逗号分割合并* key_name : group by 字段名* coname : 需要用逗号分割的字段名* tname : 表名* 示例:* select   str_list('DEPT_ID', dr.dept_id, 'ROLE_ID','qx.LEAP_DEPT_ROLE')  from qx.LEAP_DEPT_ROLE dr  group by dr.dept_id*/create or replace function str_list(key_name in varchar2,                                     key      in varchar2,                                     coname   in varchar2,                                     tname    in varchar2) return varchar2 as  type rc is ref cursor;  str varchar2(4000);  sep varchar2(2);  val varchar2(4000);  cur rc;begin  open cur for 'select ' || coname || ' from ' || tname || ' where ' || key_name || ' = :x '    using key;  loop    fetch cur    into val;    exit when cur%notfound;    str := str || sep || val;    sep := ', ';  end loop;  close cur;  return str;end;
? 1 楼 ppyymm000 2012-11-25 莫非你不知道有个叫wm_concat的函数?

读书人网 >编程

热点推荐