我尝试使用Oracle 10g的WM_CONCAT函数将多行分组为一行。
但是当我查询运行时,我收到以下错误:
ORA-06502:PL / SQL:数字或值错误:字符串缓冲区太小 ORA-06512:在" WMSYS.WM_CONCAT_IMPL",第30行 06502. 00000 - " PL / SQL:数字或值错误%s"
我的查询输出是:
5319 | 64764011907 | 6893,1109,1120,1297,1327(逗号分隔的客户ID存储列表)
我将无法创建类型 - 缺乏优势。
如果我可以使用Oracle 10g中的某种不同方法进行分组,请告诉我。
答案 0 :(得分:1)
sys_connect_by_path
方法是唯一值得测试的方法,但几乎可以肯定limited to 4000 bytes。
如果您可以访问各种XML函数,则可能use the xmlagg
function to produce a CLOB。