メインコンテンツまでスキップ
に最終更新

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;