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

Ari*_*ana 6 sql database oracle

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

例如:

TABLE_NAME 列

表 A => 列列表

表 B => 列列表

表 C => 列列表

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

SELECT TABLE_NAME FROM USER_TABLES;
Run Code Online (Sandbox Code Playgroud)

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

SELECT column_name
FROM user_tab_cols
WHERE table_name = 'TABLE_NAME';
Run Code Online (Sandbox Code Playgroud)

Vam*_*ala 3

用于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;
Run Code Online (Sandbox Code Playgroud)