时间戳转换器

Oracle - FORCE 视图选项在执行后不显示在视图中

日期:2023-02-26     浏览:146    
【中文标题】Oracle - FORCE 视图选项在执行后不显示在视图中【英文标题】:Oracle - FORCE view option isn't shown on view after executed 【发布时间】: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 选项仅在执行时没有运行时影响?它是否仅用于强制覆盖先前的视图(即使出现错误)?

【问题讨论】:

【参考方案1】:

是否只在执行时使用 FORCE 选项而没有运行时影响?

是的。如果视图语句无效——比如说有一个错字并且 FROM 子句中的表名拼写错误——通常 Oracle 不会创建视图。通过使用 FORCE 关键字,可以创建视图,但具有'INVALID' 状态。这在某些情况下可能很有用,例如我们有一个构建工具,如果语句失败,它会停止运行,但我们希望整个构建完成,然后解决任何不一致。

是否只用于强制覆盖之前的视图

没有。即使视图在此之前不存在,我们也可以选择使用 FORCE。当我们 ALTER a TYPE with dependencies 时,用法与使用 FORCE 略有不同。我们总是可以创建或替换视图。

【讨论】:

相关文章

ORA-00922:修改视图时缺少或无效选项 - Oracle [重复]

{】ORA-00922:修改视图时缺少或无效选项-Oracle[重复]【英文标题】:ORA-00922:missingorinvalidoptiononmodifyingaview-Oracle[duplicate]【发布时间】:2017-04-1915:56:08【问题描述】:我正在尝试向视图中的列添加不可为空的约束。这是我的查询:alt...}

nginx - 超时后不正常的工作人员终止

{...,这可能不会发生很长时间,因为连接是持久的。是否有选项/路线图可}

模态转场导致黑屏

{...8:12【问题描述】:我有一个模态segue,它引入了一个新的视图控制器,其中有一个视图和一个透明背景。所以当我最初运行应用程序并按下按钮开始时模态序列,视图控制器被引入,它看起来像这样,因为视图控制器具有透明背...}

启动应用程序后不出现模态视图

{】启动应用程序后不出现模态视图【英文标题】:Modalviewafterstartappdoesnotappear【发布时间】:2012-01-1309:31:56【问题描述】:用户必须先登录才能使用我的应用程序。我的想法是,在应用启动后,登录视图会以模态方式出现。在iOS5...}

在加载视图时淡入控件(并且在状态更改后不插入)

{】在加载视图时淡入控件(并且在状态更改后不插入)【英文标题】:Fade-inacontrolinwhenaviewisloaded(andnotinsertedafterastatechange)【发布时间】:2020-12-1018:31:31【问题描述】:我所追求的是当控件包含在其中的视图第次出现时淡入淡出...}

Oracle View 与 Oracle 中的联接表

{】OracleView与Oracle中的联接表【英文标题】:OracleViewvsjoiningtablesinOracle【发布时间】:2016-03-3016:18:09【问题描述】:我了解视图是Oracle中基础表或表集的窗口。例如,如果我有一个通过连接多个表创建的视图,当我从视图中选择...}

Oracle - 如何对视图执行左连接?

{】Oracle-如何对视图执行左连接?【英文标题】:Oracle-howtoperformleftjoinonviews?【发布时间】:2017-12-3016:21:02【问题描述】:如何在Oracle上使用左连接创建视图?我可以使用这个语句创建一个连接表select*fromconcert_copycleftjoinevent_copyeon...}

Angular 2 在 ngOnInit 承诺中推送数组后不刷新视图

{】Angular2在ngOnInit承诺中推送数组后不刷新视图【英文标题】:Angular2donotrefreshviewafterarraypushinngOnInitpromise【发布时间】:2017-01-0422:11:54【问题描述】:我创建了一个Angular2的NativeScript应用程序,我有一个我希望在应用程序前端看...}

oracle视图详解

{Oracle视图详解 一. 视图的定义视图(view),也称虚表, 不占用物理空间,这个也是相对概念,因为视图本身的定义语句还是要存储在数据字典里的。视图只有逻辑定义。每次使用的时候,只是重新执行SQL。  视图是...}

ASP.NET MVC RedirectToAction 在从视图中发布 AJAX 后不起作用

{】ASP.NETMVCRedirectToAction在从视图中发布AJAX后不起作用【英文标题】:ASP.NETMVCRedirectToActiondoesn\'tworkafterAJAXPostfromview【发布时间】:2018-06-0220:34:57【问题描述】:我正在尝试从控制器重新加载我的视图,以便在对我的控制器进行AJAX...}

Copyright ©2021 时间戳转换器 小常识 114pp | 陕ICP备18005036号