在 Oracle 中强制使用可编辑视图
FORCE EDITIONABLE VIEW in Oracle
我知道Oracle 数据库中的视图、物化视图、强制视图等。今天当我不得不调整一个包时,我在下面看到
CREATE OR REPLACE FORCE EDITIONABLE VIEW "IMCAPPS"."PJM_EID_ONHAND_VALUES_V"
任何人都可以告诉我什么是 FORCE EDITIONABLE VIEW
以及它在我们使用时提供的好处。
FORCE 和 EDITIONABLE 是两个不同的东西。
FORCE 指示数据库创建视图,无论查询是否有效。如果 CREATE VIEW 语句的查询由于任何原因(例如无效语法、缺少对引用对象的权限)而无法编译,则默认行为是 CREATE VIEW 语句失败。然而,这并不总是可取的,尤其是当我们 运行 一个包含大量语句的长构建脚本时。使用 FORCE 意味着视图已创建,但 USER_OBJECTS.STATUS 无效。该视图存在,但在解决潜在问题之前我们无法使用它。但是,至少我们的构建脚本可以运行完成。
EDITIONABLE 是与Edition-based 重新定义相关的关键字。这是 Oracle 提供的一种机制,它允许我们支持数据库中同一对象的多个版本。这对于处理实时环境中的复杂部署非常有用。根据我的经验,很少有地方利用这种能力。 Find out more.
我知道Oracle 数据库中的视图、物化视图、强制视图等。今天当我不得不调整一个包时,我在下面看到
CREATE OR REPLACE FORCE EDITIONABLE VIEW "IMCAPPS"."PJM_EID_ONHAND_VALUES_V"
任何人都可以告诉我什么是 FORCE EDITIONABLE VIEW
以及它在我们使用时提供的好处。
FORCE 和 EDITIONABLE 是两个不同的东西。
FORCE 指示数据库创建视图,无论查询是否有效。如果 CREATE VIEW 语句的查询由于任何原因(例如无效语法、缺少对引用对象的权限)而无法编译,则默认行为是 CREATE VIEW 语句失败。然而,这并不总是可取的,尤其是当我们 运行 一个包含大量语句的长构建脚本时。使用 FORCE 意味着视图已创建,但 USER_OBJECTS.STATUS 无效。该视图存在,但在解决潜在问题之前我们无法使用它。但是,至少我们的构建脚本可以运行完成。
EDITIONABLE 是与Edition-based 重新定义相关的关键字。这是 Oracle 提供的一种机制,它允许我们支持数据库中同一对象的多个版本。这对于处理实时环境中的复杂部署非常有用。根据我的经验,很少有地方利用这种能力。 Find out more.