2016-04-20 71 views
3

我想知道如何从我的ORACLE数据库中列出所有表和列,但是通过将所有这些信息“分组”到仅一个表中?一张有两列的表格:一张带有表格名称,另一张带有该表格中的所有列。谢谢。列出我的数据库中的所有表和列(ORACLE)

例如:

TABLE_NAME COLUMNS

表A =>柱柱

表B => LIST

表C =>列的列表清单

Th是的我如何列出所有的表从我的ORACLE数据库:

SELECT TABLE_NAME FROM USER_TABLES; 

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

SELECT column_name 
FROM user_tab_cols 
WHERE table_name = 'TABLE_NAME'; 
+4

'user_tab_cols'有什么问题。你已经找到了2列'table_name'和'column_name'。所以你错过了什么? –

+0

@Ariana:Aツ是对的。但是,如果你想知道其他信息只存在于user_tab_cols中,你可以使用table_name字段加入两个表格 –

+0

我更新了我的文章。我想要的是将两个选择的信息“分组”到一个表中。 – Ariana

回答

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; 
+0

同时,这正是我编造的选择。不管怎么说,还是要谢谢你 :) – Ariana

相关问题