に最終更新
REFRESH MATERIALIZED VIEW
説明
この文は、指定した非同期マテリアライズドビューを手動で更新するために使用します。
構文
REFRESH MATERIALIZED VIEW <mv_name> <refresh_type>
各項目の定義は次のとおりです。
refresh_type
: { <partitionSpec> | COMPLETE | AUTO }
partitionSpec
: PARTITIONS (<partition_name> [, <partition_name> [, ... ] ])
必須パラメータ
1. <mv_name>
マテリアライズドビューの名前を指定します。
マテリアライズドビューの名前は文字で始まる必要があります。Unicode 名のサポートが有効な場合は、任意の言語の文字で始めることができます。名前全体をバッククォートで囲まない限り、空白や特殊文字を含めることはできません(例:
My Object)。マテリアライズドビューの名前に予約済みキーワードは使用できません。
詳細については、「予約済みキーワード」を参照してください。
2. <refresh_type>
このマテリアライズドビューの更新方法を指定します。
更新方法には、partitionSpec、COMPLETE、AUTO のいずれかを指定できます。
省略可能なパラメータ
1. <partition_name>
パーティションを更新する場合、そのパーティション名を指定します。
アクセス制御要件
この SQL コマンドを実行するユーザーには、少なくとも次の権限が必要です。
| 権限 | オブジェクト | 説明 |
|---|---|---|
| ALTER_PRIV | マテリアライズドビュー | REFRESH はマテリアライズドビューに対する ALTER 操作です |
使用上の注意
- AUTO:マテリアライズドビューのどのパーティションがベーステーブルと同期されていないかを判定し、該当するパーティションを更新します。(現在、ベーステーブルが外部テーブルの場合、マテリアライズドビューと常に同期されていると見なされます。そのため、ベーステーブルが外部テーブルの場合は、
COMPLETEを指定するか、更新するパーティションを指定する必要があります。) - COMPLETE:パーティションがベーステーブルと同期されているかどうかを確認せず、マテリアライズドビューのすべてのパーティションを強制的に更新します。
- partitionSpec:パーティションがベーステーブルと同期されているかどうかを確認せず、指定したパーティションを強制的に更新します。
例
-
マテリアライズドビュー mv1 を更新します(更新対象のパーティションを自動で判定します)。
REFRESH MATERIALIZED VIEW mv1 AUTO; -
p_19950801_19950901 および p_19950901_19951001 という名前のパーティションを更新します。
REFRESH MATERIALIZED VIEW mv1 partitions(p_19950801_19950901,p_19950901_19951001); -
マテリアライズドビューのすべてのデータを強制的に更新します。
REFRESH MATERIALIZED VIEW mv1 complete;