创建物化视图,每天刷新记录

coo*_*aps 9 oracle refresh view materialized-views

目前我使用REFRESH ON DEMAND创建的Materialized视图,所以在这种情况下我需要使用以下命令显式刷新MV:

BEGIN DBMS_MVIEW.REFRESH('MV_DATA'); END; 
Run Code Online (Sandbox Code Playgroud)

但是现在我需要每天刷新这个MV,所以任何人都可以帮忙写这个.我已经看到我们可以使用在MV本身中编写显式Job或使用COMPLETE/FAST REFRESH语句来刷新此MV.

提前致谢!

San*_*San 14

您需要使用START WITH和NEXT子句创建物化视图

create materialized view <mview_name>
refresh on demand 
start with sysdate next sysdate + 1
as select ............
Run Code Online (Sandbox Code Playgroud)

因此,如果您想每天刷新mview,则需要按需刷新它并将下一个刷新时间设置为sysdate + 1.您可以设置任何间隔.

执行此操作后,将创建物化视图,并在Oracle中设置作业,每24小时刷新一次mview (sysdate + 1).

有关如何执行操作的详细信息,请单击此链接

  • "按需"是默认模式,预定刷新(自动)也是"按需"模式的一部分.除此之外,您可以提及`on commit`,其中当DML发生在基础表上并且提交被触发时,mview将被刷新. (3认同)
  • 如果它被安排自动刷新那么为什么需要? (2认同)