0

有没有办法获取 oracle 数据库中具有两个特定列(一起,不是任何一个)的表列表。

select table_name from all_tab_columns where column_name in ('CLOUMNNAME1','CLOUMNNAME2');

它给了我所有有一个或两个的表。但我需要那些同时拥有这两列的人。

4

1 回答 1

1

只需找到返回 2 行的表:

SELECT table_owner, TABLE_NAME FROM ALL_TAB_COLUMNS where column_name in ('CLOUMNNAME1','CLOUMNNAME2') 
GROUP BY table_owner, TABLE_NAME HAVING COUNT(*) = 2;

编辑:添加“table_owner”以避免来自共享 table_name 的不同模式的表

于 2015-12-10T13:07:34.727 回答