想要创建每晚更新的物化视图,例如:
Create materialized view My_View
refresh complete
start with (23:00 pm)
Next to 24h
select....
任何想法......?
答案 0 :(得分:0)
CREATE MATERIALIZED VIEW my_view
REFRESH NEXT SYSDATE + 1 + (23/24)
AS SELECT * FROM wherever
答案 1 :(得分:0)
我个人不会使用mat视图CREATE语句(下一个子句)中内置的调度程序。主要原因(对我而言)是你不能以这种方式声明刷新非ATOMIC(至少我在CREATE时没有找到这个的语法)。根据您的刷新要求和大小,这可以节省很多时间。
此外,Oracle提供了一个非常好的调度程序,它独立于每个单独的对象,很容易看到在什么时间安排/运行的内容,进行更改,创建复杂的作业链,查看过去作业运行的日志,发送电子邮件通知等等。
我会在dbms_scheduler作业中使用 dbms_mview。refresh('MY_MATVIEW','C',atomic_refresh => false)。设置更多的工作,是的,但最终更灵活,更强大。