Oracle 将列中的数据显示为行

Oracle 将列中的数据显示为行,oracle,oracle11g,Oracle,Oracle11g,我希望以CSV方式获取表的列名 select column_name from all_tab_columns where table_name = 'USER_TABLE'; USER\u表有如下五列 Column_name ------------- A B C D E 但我需要的输出是 A, B, C, D, E 您可以使用生成表中列名的CSV列表: SELECT LISTAGG(column_name, ', ') WITHIN GROUP (ORDER BY column_nam

我希望以CSV方式获取表的列名

select column_name from all_tab_columns where table_name = 'USER_TABLE';
USER\u表
有如下五列

Column_name
-------------
A
B
C
D
E
但我需要的输出是

A, B, C, D, E
您可以使用生成表中列名的CSV列表:

SELECT LISTAGG(column_name, ', ') WITHIN GROUP (ORDER BY column_name) "Column Names"
FROM all_tab_columns
WHERE table_name = 'USER_TABLE'

LISTAGG是oracle的代表:

SELECT LISTAGG(column_name, ', ') WITHIN GROUP (ORDER BY  column_id) csv
FROM all_tab_columns
where table_name = 'USER_TABLE';

什么是列太多??我正在使用ORA-01489:字符串连接的结果太长。有解决办法吗?