在 Oracle 中编译视图

Edg*_*ron 5 oracle view

我目前正在 Oracle 中为我们的生产运行一个很长的脚本,但我们在数据中存在差异。

当我检查脚本正在使用的视图(我正在使用 Toad)时,我看到视图名称旁边有一个 X 标记,然后我看到了一个编译它的选项。

我想知道在视图中编译是否意味着什么?视图是否未更新从而导致数据出现差异?

a_h*_*ame 6

如果您 ALTER 被视图引用的表,甚至 DROP 表,则视图被标记为无效并且无法访问,即使对表的更改不会使视图的代码不正确。

在这种情况下,需要重新编译视图:

ALTER VIEW some_view COMPILE;
Run Code Online (Sandbox Code Playgroud)

手册中的更多详细信息:https :
//docs.oracle.com/database/121/SQLRF/statements_4004.htm#SQLRF01104