我正在寻找一个快速的 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/

10-12 03:56