列出我的数据库中的所有表和列(ORACLE)

时间:2016-04-20 14:48:22

标签: sql database oracle

我想知道如何列出ORACLE数据库中的所有表和列,但是将所有这些信息“分组”到一个表?一个包含两列的表:一列包含表的名称,另一列包含该表中的所有列。谢谢。

例如:

TABLE_NAME COLUMNS

表A =>栏目列表

表B =>栏目列表

表C =>栏目列表

这是我列出ORACLE数据库中所有表的方法:

SELECT TABLE_NAME FROM USER_TABLES;

这是我列出ORACLE数据库中其中一个表的所有列的方法:

SELECT column_name
FROM user_tab_cols
WHERE table_name = 'TABLE_NAME';

1 个答案:

答案 0 :(得分:1)

使用listagg将表格中的所有列名称作为列表。

create table table_column_list as 
SELECT table_name,listagg(column_name,',') within group(order by column_id) column_list
FROM user_tab_cols
group by table_name;