物化视图:如何在表数据更改时自动刷新它?

Jem*_*mru 5 sql oracle views materialized-views oracle-sqldeveloper

Oracle Materialized视图中是否有一种方法可以在物化视图中使用的表发生更改时自动刷新?我应该使用什么是刷新模式和刷新方法?我应该使用Sql Developer使用哪些选项?

先感谢您

Wer*_*eit 7

是的,您可以定义物化视图ON COMMIT,例如:

CREATE MATERIALIZED VIEW sales_mv
   BUILD IMMEDIATE
   REFRESH FAST ON COMMIT
   AS SELECT t.calendar_year, p.prod_id ... FROM ...
Run Code Online (Sandbox Code Playgroud)

在这种情况下,每次提交后,MV都会刷新,前提是最后一次事务是在主表上完成的.由于刷新是在每次提交后完成的,因此强烈建议使用FAST REFRESH,而不是COMPLETE这会持续太长时间.

您有几个限制和前提条件可供使用FAST REFRESH,请查看Oracle文档:CREATE MATERIALIZED VIEW,FAST Clause了解详细信息.