在 Oracle 中找不到 table

Can't find table in oracle

我有一个 oracle 查询 SELECT * FROM My_Table,其中 returns 行符合预期。

我正在尝试获取有关 table 中某些列的信息,但是当我查询 All_Tab_Columns 时,没有 TABLE_NAME = 'My_Table'

的列

然后我查询了 ALL_TABLES 和 ALL_VIEWS 但我找不到 table/view where TABLE_NAME = 'My_Table' 或 where VIEW_NAME = 'My_Table'.

我在这里错过了什么? My_Table 还能是什么以及如何找到有关查询时返回的列的信息?

在 Oracle 中,表名(以及与此相关的所有对象名)实际上在内部默认为大写。如果您使用此 WHERE 子句查询数据字典,您应该得到结果:

where TABLE_NAME = 'MY_TABLE'

Oracle语法不区分大小写,但数据区分大小写。 因此您可以按如下方式查询您的 table:

select * from all_tables where table_name like upper('%My_Table%')

如果您没有找到任何关于 table 的数据,这可能是同义词 所以您可以从 all_synonyms 视图查询它。

select * from all_synonyms where synonym_name like upper('%My_Table%')