REFRESH
REFRESHE 用于刷新指定的一个物化视图。
语法
DBMS_MVIEW.REFRESH (
mv_name IN VARCHAR(65535),
method IN VARCHAR(65535) DEFAULT NULL,
refresh_parallel IN INT DEFAULT 0,
nested IN BOOLEAN DEFAULT FALSE,
nested_refresh_mode IN VARCHAR DEFAULT NULL
);
参数解释
信息
非嵌套物化视图不存在级联刷新行为,指定 nested 和 nested_refresh_mode 参数无意义,默认独立刷新。
| 参数 | 说明 |
|---|---|
| mv_name | 需要刷新的物化视图名称。 |
| method | 定义了物化视 图的刷新策略,可在创建物化视图时指定默认的策略。可选方法包括:
|
| refresh_parallel | 刷新操作的并发度,即同时执行刷新操作的线程数。该参数的默认值为 0 |
| nested | 指定嵌套物化视图的刷新模式。取值如下:
|
| nested_refresh_mode | 指定级联刷新嵌套物化视图是一致刷新行为还是非一致刷新行为。取值如下:
|
示例
-
独立刷新模式:
-
只指定参数
mv_name。CALL DBMS_MVIEW.REFRESH('mv1'); -
指定参数
mv_name及参数nested值为false。CALL DBMS_MVIEW.REFRESH('mv1', nested=> false);
-
-
级联非一致刷新模式:
-
指定参数
mv_name,参数nested值为true,不指定参数nested_refresh_mode。CALL DBMS_MVIEW.REFRESH(
'mv1', nested=> true); -
指定参数
mv_name,参数nested值为true及参数nested_refresh_mode值为inconsistent。CALL DBMS_MVIEW.REFRESH(
'mv1',
nested=> true,
nested_refresh_mode => 'inconsistent');
-
-
级联一致刷新模式:
指定参数
mv_name,参数nested值为true及参数nested_refresh_mode值为consistent。CALL DBMS_MVIEW.REFRESH(
'mv1',
nested=> true,
nested_refresh_mode => 'consistent'); -
以下为报错场景:
-
参数
nested值为false,又指定参数nested_refresh_mode值,报错。CALL DBMS_MVIEW.REFRESH(
'mv1',
nested=> false,
nested_refresh_mode => 'xxxx'); -
没有指定参数
nested的值,只指定参数nested_refresh_mode的值,报错。CALL DBMS_MVIEW.REFRESH('mv1', nested_refresh_mode => 'xxxx'); -
参数
nested值为true,参数nested_refresh_mode值为非法字符串,报错。CALL DBMS_MVIEW.REFRESH(
'mv1',
nested=> true,
nested_refresh_mode => '非法字符串');
-