Oracle - 每天更新一次视图并在更新时覆盖数据

Posted

技术标签:

【中文标题】Oracle - 每天更新一次视图并在更新时覆盖数据【英文标题】:Oracle - Update a view once a day and overwrite the data when update 【发布时间】:2021-05-05 16:28:27 【问题描述】:

我有下面这个视图。

如何将其设置为每天仅更新一次,更新时应覆盖此数据

CREATE view VW_InformacaoApontamanto as

select *

from INFO_APONTAMENTO as InfoApontamento
INNER JOIN Barco as barco on barco.Id = InfoApontamento.Barco_Id
INNER JOIN LOCAL_OPERACAO as localDaOperacao on localDaOperacao.Id = InfoApontamento.LocalDaOperacao_Id
INNER JOIN CODIGOS_OPERACAO as codigosDeOperacao on codigosDeOperacao.Id = InfoApontamento.CodigosDeOperacao_Id
LEFT JOIN INFO_METEOROLOGICA as infoMetereologica on infoMetereologica.Id = InfoApontamento.InfoMeterologica_Id
LEFT JOIN SUB_CODE_OPERACAO as subCodigosOperacao on subCodigosOperacao.Id = InfoApontamento.SubCodigosDeOperacao_Id
LEFT JOIN INFO_POSICIONAMENTO as infoPosicionamento on infoPosicionamento.Id = InfoApontamento.InfoPosicionamento_Id

【问题讨论】:

视图只是一个存储的查询。如果您希望数据每天都被具体化,您可能需要一个具体化视图,而不是设置为按照您指定的任何计划刷新。 【参考方案1】:

一般来说,你不能,没有观点。它只是一个存储查询,实际上不包含任何数据。每当表格的内容发生变化时,视图内容都会立即反映这些变化。

您正在寻找的可能是一个物化视图,可以安排刷新,例如一天一次。

【讨论】:

以上是关于Oracle - 每天更新一次视图并在更新时覆盖数据的主要内容,如果未能解决你的问题,请参考以下文章

视图激活时覆盖啥方法?

当被模态视图控制器覆盖时,iOS 6 视图控制器布局在方向更改后不会更新

Oracle-视图

关闭自定义模式/覆盖不更新 SwiftUI 中的视图内容

SwiftUI onChange(of: ...) 更新 StateObject

UIView - 啥覆盖将允许更新 UIView 框架