sql - 在 Oracle 数据库中搜索具有特定列名的表?

标签 sql oracle

我们有一个包含许多表的大型 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/

相关文章:

sql - LINQ SQL附加,更新检查设置为从不,但仍然存在并发冲突

sql - 从大型数据库中清除 SQL 表?

oracle - (PLSQL) 测试 Oracle 更新触发器中更改值的最简单表达式是什么?

mysql - SQL - Hibernate 意外标记

sql - 使用 MAX 或 MIN 聚合函数时如何从一组记录中选择适当的记录

mysql - 在 MySQL 查询中将部分非数字文本转换为数字

oracle - HikariCP 准备好的语句缓存

sql - 填补数据空白 - UNION、PARTITION BY 还是 JOIN?

oracle - 如何限制oracle存储过程中的NULL输入参数

sql - Oracle:在 PostgreSQL 中有与 ROW 等价的东西吗?