我们有一个包含许多表的大型 Oracle 数据库。有没有办法可以查询或搜索以查找是否存在具有特定列名称的表?
IE 显示包含以下列的所有表:id、fname、lname、address
我忘记添加的细节:我需要能够搜索不同的模式。我必须用来连接的表不拥有我需要搜索的表。
最佳答案
要查找具有特定列的所有表:
select owner, table_name from all_tab_columns where column_name = 'ID';
要查找具有任意或全部 4 列的表:
select owner, table_name, column_name
from all_tab_columns
where column_name in ('ID', 'FNAME', 'LNAME', 'ADDRESS');
要查找包含全部 4 列(没有缺失)的表:
select owner, table_name
from all_tab_columns
where column_name in ('ID', 'FNAME', 'LNAME', 'ADDRESS')
group by owner, table_name
having count(*) = 4;
关于sql - 在 Oracle 数据库中搜索具有特定列名的表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1953239/