我们有一个包含许多表的大型Oracle数据库.有没有一种方法可以让我查询或搜索,以确定是否有任何具有特定列名的表?
让我看看所有有列的表格:id, fname, lname, address
我忘记添加的细节:我需要能够搜索不同的模式.我必须用来连接的那个并没有我需要搜索的表.
我们有一个包含许多表的大型Oracle数据库.有没有一种方法可以让我查询或搜索,以确定是否有任何具有特定列名的表?
让我看看所有有列的表格: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;