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)、スペースや特殊文字を含むことはできません。マテリアライズドビュー名は予約キーワードを使用できません。
詳細については、Reserved Keywordsを参照してください。
2. <refresh_type>
このマテリアライズドビューのリフレッシュタイプを指定します。
リフレッシュタイプは、partitionSpec、COMPLETE、またはAUTOのいずれかです。
オプションパラメータ
1. <partition_name>
パーティションをリフレッシュする際のパーティション名を指定します
アクセス制御要件
このSQLコマンドを実行するユーザーは、少なくとも以下の権限を持つ必要があります:
| 権限 | オブジェクト | 備考 |
|---|---|---|
| ALTER_PRIV | Materialized View | 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;