ALTER MATERIALIZED VIEW¶
現在の/指定されたスキーマのマテリアライズドビューを変更します。サポートされるアクションは次のとおりです。
マテリアライズドビューの名前変更。
マテリアライズドビューの使用とメンテナンスの中断と再開。
マテリアライズドビューのクラスタリング。
マテリアライズドビューの再クラスタリングの中断と再開。
マテリアライズドビューのクラスタリングのドロップ。
詳細については、 マテリアライズドビューの使用 をご参照ください。
- こちらもご参照ください。
CREATE MATERIALIZED VIEW、 DROP MATERIALIZED VIEW、 SHOW MATERIALIZED VIEWS、 DESCRIBE MATERIALIZED VIEW
構文¶
ALTER MATERIALIZED VIEW <name>
{
RENAME TO <new_name> |
CLUSTER BY ( <expr1> [, <expr2> ... ] ) |
DROP CLUSTERING KEY |
SUSPEND RECLUSTER |
RESUME RECLUSTER |
SUSPEND |
RESUME |
SET {
[ SECURE ]
[ COMMENT = '<comment>' ]
} |
UNSET {
SECURE |
COMMENT
}
}
パラメーター¶
name
変更するマテリアライズドビューの識別子を指定します。
RENAME TO new_name
このオプションを使用すると、マテリアライズドビューの名前を変更できます。
新しい識別子は、ビューが作成されるスキーマに対して一意である必要があります。新しい識別子はアルファベットで始める必要があり、識別子文字列全体が二重引用符で囲まれていない限り、スペースや特殊文字を含めることはできません(例:
"My object"
)。二重引用符で囲まれた識別子も大文字と小文字が区別されます。詳細については、 識別子の要件 をご参照ください。オプションでオブジェクトの名前を変更して、オブジェクトを別のデータベースやスキーマに移動できます。これを実行するには、新しいデータベース名やスキーマ名をそれぞれ
db_name.schema_name.object_name
またはschema_name.object_name
の形式で含む、修飾されたnew_name
値を指定します。注釈
宛先データベースやスキーマはすでに存在している必要があります。また、同じ名前のオブジェクトが宛先データベースにすでに存在することはできません。存在する場合、ステートメントはエラーを返します。
オブジェクトをマネージドアクセススキーマに移動することは、オブジェクトの所有者(つまり、オブジェクトに対して OWNERSHIP 権限を持つロール)がターゲットスキーマも所有している場合を 除き 禁止されています。
マテリアライズドビューの名前を変更しても、そのビューへの参照は更新されないことに注意してください。たとえば、マテリアライズドビューの上に
V1
という名前のビューを作成し、マテリアライズドビューの名前を変更すると、ビューV1
の定義は古くなります。CLUSTER BY expr#
このコマンドは、マテリアライズドビューをクラスター化します。クラスタリングは、マテリアライズドビューの行を並べ替えて、クラスタリングキー式に基づいてフィルター処理するクエリのパフォーマンスを向上させます。
expr#
は、マテリアライズドビューをクラスター化する式を指定します。通常、各式はマテリアライズドビューの列の名前です。マテリアライズドビューのクラスタリングの詳細については、 マテリアライズドビューとクラスタリング をご参照ください。一般的なクラスタリングの詳細については、 データクラスタリングとは をご参照ください。
DROP CLUSTERING KEY
このコマンドは、マテリアライズドビューのクラスタリングをドロップします。
SUSPEND RECLUSTER
SUSPEND RECLUSTER
オプションは、マテリアライズドビューの再クラスタリングを中断します。マテリアライズドビューのクラスタリングの詳細については、 マテリアライズドビューとクラスタリング をご参照ください。RESUME RECLUSTER
RESUME RECLUSTER
オプションは、マテリアライズドビューの再クラスタリングを再開します。SUSPEND
SUSPEND
オプションは、マテリアライズドビューのメンテナンス(更新)と使用を中断します。ビューが中断されている間、ベーステーブルへの更新はマテリアライズドビューに反映されません。マテリアライズドビュー自体にもアクセスできません。使用を試みると、次のようなエラーメッセージが表示されます。Failure during expansion of view 'MV1': SQL compilation error: Materialized View MV1 is invalid. Invalidation reason: Marked Materialized View as invalid manually.
クラスター化されたマテリアライズドビューを中断すると、そのビューの再クラスタリングが暗黙的に中断されます。
RESUME
RESUME
オプションを使用すると、マテリアライズドビューの使用を再開できます。また、マテリアライズドビューのメンテナンスも再開されます。ビューがクラスター化されている場合、そのビューの再クラスタリングも暗黙的に再開されます。SET ...
マテリアライズドビューに設定するプロパティを指定します。
SECURE
このオプションは、ビューをセキュアビューに変換します。セキュアビューの詳細については、 セキュアビューの使用 をご参照ください。
COMMENT = 'string_literal'
このオプションは、マテリアライズドビューのコメントを設定します。コメントは、ビューの動作には影響しませんが、ビューを使用または管理する人々に有用な情報を提供できます。
UNSET ...
マテリアライズドビューの設定を解除するプロパティを指定します。
SECURE
TAG tag_name [ , tag_name ... ]
COMMENT
使用上の注意¶
ALTER VIEW コマンドを使用して、マスキングポリシー、行アクセスポリシーを設定/設定解除するか、マテリアライズドビューにタグを付けたり、マテリアライズドビューからタグを付けたりします。
メタデータについて、
注意
Snowflakeサービスを使用する場合、お客様は、個人データ(ユーザーオブジェクト向け以外)、機密データ、輸出管理データ、またはその他の規制されたデータがメタデータとして入力されていないことを確認する必要があります。詳細については、 Snowflakeのメタデータフィールド をご参照ください。
例¶
マテリアライズドビューの名前を変更します。
ALTER MATERIALIZED VIEW table1_MV RENAME TO my_mv;
マテリアライズドビューをクラスター化します。
ALTER MATERIALIZED VIEW my_mv CLUSTER BY(i);
マテリアライズドビューのクラスタリングを中断しますが、ビューの使用は中断されません。
ALTER MATERIALIZED VIEW my_mv SUSPEND RECLUSTER;
マテリアライズドビューのクラスタリングを再開します。
ALTER MATERIALIZED VIEW my_mv RESUME RECLUSTER;
指定されたマテリアライズドビューのすべての使用と自動メンテナンスを中断します。
ALTER MATERIALIZED VIEW my_mv SUSPEND;
指定されたマテリアライズドビューのすべての使用と自動メンテナンスを再開します。
ALTER MATERIALIZED VIEW my_mv RESUME;
マテリアライズドビューのクラスタリングを停止します。
ALTER MATERIALIZED VIEW my_mv DROP CLUSTERING KEY;
ビューをセキュアビューに変更します。
ALTER MATERIALIZED VIEW mv1 SET SECURE;
マテリアライズドビューのコメントを追加または置換します。
ALTER MATERIALIZED VIEW mv1 SET COMMENT = 'Sample view';