我正在寻找一个快速的 sql 语句来确定一个字段是否存在于表中。
其实我在用这句话
Select 1
from dual
where exists (select 1
from all_tab_columns
where table_name = 'MYTABLE'
and column_name = 'MYCOLUMN')
我认为必须有一种最快的方法来确定 ORACLE 中是否存在列。
更新
我正在优化一个更大的软件系统,该系统可以多次调用此查询,我无法修改源代码 ;( ,只有我可以修改存储在外部文件中的查询。
表 all_tab_columns 有超过一百万条记录。
最佳答案
all_tab_columns
的主键是 owner, table_name, column_name
因此寻找特定所有者会更快(或使用 user_tab_columns
)。
关于sql - 快速确定字段是否存在于 ORACLE 表中的方法,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/2276305/