给出:
Daily(t)
-包含第t
天的事件的表(仅在t
天期间是可变的)
Agg(t)
-包含直到t
天(在t
天之后不变的)所有历史事件的汇总的表
在t
的那天,尽管Daily(t)
仍然是可变的,但我对视图V_Agg(t)
的定义如下:
V_Agg(t)=q(Agg(t-1), Daily(t))
-(q
是汇总查询)
由于Daily(t)
在第t
天后没有发生变化,因此当第t
天结束时,我想“实现” V_Agg(t)
,将其转到Agg(t)
V_Agg(t+1)
才能使用。
在实施此过程时,我发现拥有Agg(t)
和Daily(t)
实际上就足够了。我可以在Agg(t)
期间将t
作为视图,并且在t
的某个时刻(无论何时),都可以替换现在不可变的视图Agg(t-1)
并使用名为相同(Agg(t-1)
)的表。
这将使我免于维护V_Agg(t)
的需要,并且总的来说会更加稳定(我可以独立于将Agg(t)
从视图转换为表格的过程来创建Agg(t-1)
)
但是,我找不到在同名视图上写表的方法。这样做会给... is not allowed for this operation because it is currently a VIEW.
此解决方案是否可以事务处理方式(无需一步删除视图并创建表)?如果是这样-怎么办?