oracle 表中的新行是不是立即反映在视图中?

Posted

技术标签:

【中文标题】oracle 表中的新行是不是立即反映在视图中?【英文标题】:Are new rows in oracle table reflected immediately in view?oracle 表中的新行是否立即反映在视图中? 【发布时间】:2015-12-17 00:18:12 【问题描述】:

有人能解释一下在向基表中插入新行时,Oracle 数据库视图是否需要刷新? 这在哪些场景下是真的还是假的?

【问题讨论】:

试试看。视图是一个存储的查询,仅此而已。如果这些行对查询可见(基于当前会话的事务隔离级别等),则在查询视图时它们将可见。您不刷新视图。有一种叫做“物化视图”的东西非常不同,但这是一种不太常见的对象类型,当您查看数据仓库类型环境时通常会遇到这种类型的对象 【参考方案1】:

无需刷新。新行在表和视图中的同一确切时间点对其他人可见。那一点不是插入数据,而是提交事务。

【讨论】:

应该指出,如果在插入它们的同一会话中查询视图,则新的未提交行立即可见。

以上是关于oracle 表中的新行是不是立即反映在视图中?的主要内容,如果未能解决你的问题,请参考以下文章

Oracle - 视图相关

oracle 创建一个传参查询视图

为啥自定义指令不能立即反映其代码的变化

简述oracle视图

是否可以在从 2 个表创建的复杂视图中插入新行?

在数据库中每天保留表的副本