使用(在 oracle 中)返回哪些表
select * from tab
和
select * from all_tables
我想知道两者的区别。
tab
是一个永远不应该使用的古老数据字典表。它的存在只是为了为可能在几十年前编写的脚本提供向后兼容性。 tab
不会随着新对象类型和新功能的添加而更新。
all_tables
为您提供有关您有权访问的所有表的信息。tab
为您提供有关您拥有的表、视图和同义词的信息(使其更类似于user_tables
、user_synonyms
和等视图user_views
)。但是,它不知道诸如回收站之类的东西,因此tab
会向您显示所有具有类似名称的表BIN$+K4PlriXSGetpagyHCvBGA==$0
都在回收站中。实际上,至少自 Oracle 7 天以来添加的任何对象类型都可能为遗留数据字典表(如tab
.