问题描述
我知道Oracle数据库中的视图,实例化视图,强制视图等。今天,当我不得不调整包裹时,我在下面看到了
CREATE OR REPLACE FORCE EDITIONABLE VIEW "IMCAPPS"."PJM_EID_ONHAND_VALUES_V"
有人能告诉我FORCE EDITIONABLE VIEW
是什么,并在我们使用它时带来好处。
解决方法
FORCE和EDITIONDELABLE是两个不同的东西。
FORCE指示数据库创建视图,而不管查询是否有效。如果CREATE VIEW语句的查询由于任何原因而无法编译(例如,语法无效,所引用对象的特权丢失),则默认行为是CREATE VIEW语句失败。但是,这并不总是可取的,特别是当我们运行带有许多语句的长构建脚本时。使用FORCE意味着将创建视图,但USER_OBJECTS.STATUS的状态为INVALID。该视图存在,但只有在解决根本问题后才能使用。但是,至少我们的构建脚本可以运行完成。
EDITIONABLE是与基于版本的重新定义有关的关键字。这是Oracle提供的一种机制,允许我们在数据库中支持同一对象的多个版本。这对于在实时环境中处理复杂的部署非常有用。以我的经验,很少有地方可以利用这种功能。 Find out more。