REFRESHは、指定されたマテリアライズドビューを更新するために使用します。
適用対象
この内容はOceanBaseデータベースEnterprise Editionにのみ適用されます。OceanBaseデータベースCommunity EditionはMySQLモードのみを提供します。
構文
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]
[, async IN BOOLEAN DEFAULT FALSE]
);
パラメータの説明
説明
ネストされていないマテリアライズドビューには連鎖更新の動作が存在しないため、nestedおよびnested_refresh_modeパラメータを指定しても意味がありません。デフォルトでは独立更新されます。
パラメータ |
説明 |
|---|---|
| mv_name | 更新するマテリアライズドビューの名前。 |
| method | マテリアライズドビューの更新ポリシーを定義します。マテリアライズドビュー作成時にデフォルトのポリシーを指定できます。選択可能な方法は以下のとおりです:
|
| refresh_parallel | 更新操作の並列度、つまり同時に実行される更新操作のスレッド数。 |
| nested | ネストされたマテリアライズドビューの更新モードを指定します。取り得る値は以下のとおりです:
|
| nested_refresh_mode | ネストされたマテリアライズドビューの連鎖更新を一貫性のある更新動作とするか、一貫性のない更新動作とするかを指定します。取り得る値は以下のとおりです:
|
| async | 非同期更新を行うかどうかを指定します。取り得る値は以下のとおりです:
説明V4.4.2バージョンでは、このパラメータはV4.4.2 BP2バージョンから導入されました。 |
例
独立更新モード:
パラメータ
mv_nameのみを指定します。obclient> CALL DBMS_MVIEW.REFRESH('mv1');パラメータ
mv_nameとパラメータnestedの値をfalseに指定します。obclient> CALL DBMS_MVIEW.REFRESH( 'mv1', nested=> false);
ネストされた非一貫性リフレッシュモード:
パラメータ
mv_nameを指定し、パラメータnestedの値をtrueに設定しますが、パラメータnested_refresh_modeを指定しません。obclient> CALL DBMS_MVIEW.REFRESH( 'mv1', nested=> true);パラメータ
mv_nameを指定し、パラメータnestedの値をtrueに設定するとともに、パラメータnested_refresh_modeの値をinconsistentに設定します。obclient> CALL DBMS_MVIEW.REFRESH( 'mv1', nested=> true, nested_refresh_mode => 'inconsistent');
ネストされた一貫性リフレッシュモード:
パラメータ
mv_nameを指定し、パラメータnestedの値をtrueに設定するとともに、パラメータnested_refresh_modeの値をconsistentに設定します。obclient> CALL DBMS_MVIEW.REFRESH( 'mv1', nested=> true, nested_refresh_mode => 'consistent');以下はエラーが発生するシナリオです:
パラメータ
nestedの値をfalseに設定し、かつパラメータnested_refresh_modeの値を指定した場合、エラーが発生します。obclient> CALL DBMS_MVIEW.REFRESH( 'mv1', nested=> false, nested_refresh_mode => 'xxxx');パラメータ
nestedの値を指定せず、パラメータnested_refresh_modeのみの値を指定した場合、エラーが発生します。obclient> CALL DBMS_MVIEW.REFRESH( 'mv1', nested_refresh_mode => 'xxxx');パラメータ
nestedの値をtrueに設定し、パラメータnested_refresh_modeの値を無効な文字列に設定した場合、エラーが発生します。obclient> CALL DBMS_MVIEW.REFRESH( 'mv1', nested=> true, nested_refresh_mode => '無効な文字列');
関連ドキュメント
マテリアライズドビューのリフレッシュに関する情報については、マテリアライズドビューのリフレッシュを参照してください。