【发布时间】:2018-12-24 11:05:29
【问题描述】:
我们创建了一个用于处理复杂 SQL 的视图,但是在使用 FORCE 选项创建视图时。例如:
create or replace FORCE view testview as
select 1
from dual;
FORCE 在稍后查看视图时被删除
create or replace view testview as
select 1
from dual;
如果要创建视图,无论视图的基表或引用的对象类型是否存在,或者包含视图的架构的所有者是否对它们具有权限,请指定 FORCE。在针对视图发出任何 SELECT、INSERT、UPDATE 或 DELETE 语句之前,这些条件必须为真。
如果视图定义包含任何约束,如果基表不存在或引用的对象类型不存在,CREATE VIEW ... FORCE 将失败。如果视图定义命名了一个不存在的约束,CREATE VIEW ... FORCE 也会失败。
是否使用FORCE 选项仅在执行时没有运行时影响?它是否仅用于强制覆盖先前的视图(即使出现错误)?
【问题讨论】: