Oracle SQL:从all_tab_columns选择不会找到现有列。

28 浏览
0 Comments

Oracle SQL:从all_tab_columns选择不会找到现有列。

如果我运行以下查询:

select count(*) from all_tab_columns
        where column_name = 'foo'
        and table_name = 'VIEW0';

我会得到0个结果。我期望得到1个。

但是,如果我运行以下查询,我会得到许多(期望的)行返回:

select foo from VIEW0;

为什么?我假设我正在犯一些愚蠢的语法错误,或者我的理解已经偏离了正道。

admin 更改状态以发布 2023年5月21日
0
0 Comments

ALL_TAB_COLUMNS描述了当前用户可以访问的表、视图和簇的列。请检查您运行此查询的用户是否有权限访问所需的表。

0
0 Comments

可能的原因是你设置了大小写敏感。

尝试添加以下UPPER函数。

select count(*) from all_tab_columns
        where column_name = upper('foo')
        and table_name = 'VIEW0';

0