6

使用(在 oracle 中)返回哪些表

select * from tab

select * from all_tables

我想知道两者的区别。

4

1 回答 1

13

tab是一个永远不应该使用的古老数据字典表。它的存在只是为了为可能在几十年前编写的脚本提供向后兼容性。 tab不会随着新对象类型和新功能的添加而更新。

  • all_tables为您提供有关您有权访问的所有表的信息。
  • tab为您提供有关您拥有的表、视图和同义词的信息(使其更类似于user_tablesuser_synonyms和等视图user_views)。但是,它不知道诸如回收站之类的东西,因此tab会向您显示所有具有类似名称的表BIN$+K4PlriXSGetpagyHCvBGA==$0都在回收站中。实际上,至少自 Oracle 7 天以来添加的任何对象类型都可能为遗留数据字典表(如tab.
于 2013-01-28T22:43:32.727 回答