Coo*_*cle 1 oracle materialized-views
我创建了一个包含以下信息的物化视图.
CREATE MATERIALIZED VIEW EMPLOYEE_INFO
AS
SELECT * FROM EMPLOYEE_TABLE WHERE LOCATION = 'Brazil'
Run Code Online (Sandbox Code Playgroud)
我最初没有为这个MV添加任何刷新间隔.现在,我需要每天在0000HRS刷新这个MV.以下命令是否可以帮助我每天在0000HRS更改它?
ALTER MATERIALIZED VIEW EMPLOYEE_INFO
REFRESH COMPLETE
START WITH SYSDATE
Run Code Online (Sandbox Code Playgroud)
如果我需要每6小时更新一次,我该如何进行?可能吗?
对于定期刷新,您必须使用NEXT子句.每天00:00刷新:
ALTER MATERIALIZED VIEW EMPLOYEE_INFO
REFRESH COMPLETE
NEXT TRUNC(SYSDATE) + 1
Run Code Online (Sandbox Code Playgroud)
每6小时更新一次:
ALTER MATERIALIZED VIEW EMPLOYEE_INFO
REFRESH COMPLETE
NEXT SYSDATE + 6/24
Run Code Online (Sandbox Code Playgroud)
从文档(ALTER MATERIALIZED VIEW):
从条款开始
指定START WITH日期以指示第一个自动刷新时间的日期.
下一条款
指定NEXT以指示用于计算自动刷新之间间隔的日期表达式.
START WITH和NEXT值都必须评估到将来的某个时间.如果省略START WITH值,则Oracle数据库通过根据实例化视图的创建时间计算NEXT表达式来确定第一个自动刷新时间.如果指定START WITH值但省略NEXT值,则Oracle Database仅刷新实例化视图一次.如果省略START WITH和NEXT值,或者如果完全省略alter_mv_refresh,则Oracle数据库不会自动刷新实例化视图.
在下一次自动刷新时,Oracle数据库刷新实例化视图,评估NEXT表达式以确定下一个自动刷新时间,并继续自动刷新.
| 归档时间: |
|
| 查看次数: |
8901 次 |
| 最近记录: |