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
);
パラメータの説明
説明
非ネストされたマテリアライズドビューにはカスケード更新機能が存在しないため、nestedおよびnested_refresh_modeパラメータを指定しても意味がありません。デフォルトでは個別に更新されます。
| パラメータ | 説明 |
|---|---|
| mv_name | フレッシュするマテリアライズドビューの名前。 |
| method | マテリアライズドビューのフレッシュ戦略を定義します。マテリアライズドビュー作成時にデフォルトの戦略を指定できます。オプションな方法は以下のとおりです:
|
| refresh_parallel | フレッシュ操作の並列度、つまり同時に実行されるフレッシュ操作のスレッド数。
説明OceanBaseデータベースV4.3.5バージョンでは、V4.3.5 BP1バージョンからこのパラメータのデフォルト値が0に変更されました。 |
| nested | ネストされたマテリアライズドビューのフレッシュモードを指定します。値は以下のとおりです:
説明OceanBaseデータベースV4.3.5バージョンでは、V4.3.5 BP3バージョンからパラメータ |
| nested_refresh_mode | カスケードフレッシュされるネストされたマテリアライズドビューが一貫性フレッシュ動作か非一貫性フレッシュ動作かを指定します。値は以下のとおりです:
説明OceanBaseデータベースV4.3.5バージョンでは:
|
例
独立リフレッシュモード:
パラメータ
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 => '無効な文字列');
関連ドキュメント
マテリアライズドビューのリフレッシュに関する詳細は、マテリアライズドビューのリフレッシュを参照してください。