ALTER AGGREGATION POLICY

集計ポリシー の既存のルールまたはコメントを置き換えます。また、集計ポリシーの名前を変更することもできます。

こちらもご参照ください。

集計ポリシー DDL 参照

構文

ALTER AGGREGATION POLICY [ IF EXISTS ] <name> RENAME TO <new_name>

ALTER AGGREGATION POLICY [ IF EXISTS ] <name> SET BODY -> <expression>

ALTER AGGREGATION POLICY <name> SET TAG <tag_name> = '<tag_value>' [ , <tag_name> = '<tag_value>' ... ]

ALTER AGGREGATION POLICY <name> UNSET TAG <tag_name> [ , <tag_name> ... ]

ALTER AGGREGATION POLICY [ IF EXISTS ] <name> SET COMMENT = '<string_literal>'

ALTER AGGREGATION POLICY [ IF EXISTS ] <name> UNSET COMMENT
Copy

パラメーター

name

変更する集計ポリシーの識別子を指定します。

識別子にスペースまたは特殊文字が含まれる場合は、文字列全体を二重引用符で囲む必要があります。二重引用符で囲まれた識別子も大文字と小文字が区別されます。

詳細については、 識別子の要件 をご参照ください。

RENAME TO new_name

集計ポリシーの新しい識別子を指定します。スキーマに対して一意である必要があります。識別子が別の集計ポリシーにすでに配置されている場合、新しい識別子は使用できません。

詳細については、 識別子の要件 をご参照ください。

オプションでオブジェクトの名前を変更して、オブジェクトを別のデータベースやスキーマに移動できます。これを実行するには、新しいデータベース名やスキーマ名をそれぞれ db_name.schema_name.object_name または schema_name.object_name の形式で含む、修飾された new_name 値を指定します。

注釈

  • 宛先データベースやスキーマはすでに存在している必要があります。また、同じ名前のオブジェクトが宛先データベースにすでに存在することはできません。存在する場合、ステートメントはエラーを返します。

  • オブジェクトをマネージドアクセススキーマに移動することは、オブジェクトの所有者(つまり、オブジェクトに対して OWNERSHIP 権限を持つロール)がターゲットスキーマも所有している場合を 除き 禁止されています。

SET ...

集計ポリシーに設定する1つ(または複数)のプロパティを指定します。

BODY -> expression

集計ポリシーの制限を決定する SQL 式。

集計ポリシーの制約を定義するには、 SQL 式を使用して以下の内部関数を1つ以上呼び出します。

NO_AGGREGATION_CONSTRAINT

ポリシー本体がこの関数から値を返す場合、クエリは集計制約付きテーブルまたはビューから制限なしでデータを返すことができます。たとえば、管理者が集計制約付きテーブルまたはビューから集計されていない結果を取得する必要がある場合、ポリシーの本体でこの関数を呼び出すことができます。

引数なしで NO_AGGREGATION_CONSTRAINT を呼び出します。

AGGREGATION_CONSTRAINT

ポリシー本体がこの関数から値を返す場合、結果を返すにはクエリでデータを集計する必要があります。MIN_GROUP_SIZE 引数を使用して、各集計グループに含める必要がある記録の数を指定します。

AGGREGATION_CONSTRAINT 関数の構文は次のとおりです。

AGGREGATION_CONSTRAINT ( MIN_GROUP_SIZE => <integer_expression> )
Copy

ここで、 integer_expressionポリシーの最小グループサイズ に解決されます。

関数への引数として 10 を渡すことには違いがあります。どちらも結果を集計する必要があります。

  • 1 を渡すには、各集計グループに集計制約付きテーブルからの記録が少なくとも1つ含まれていることも必要です。したがって外部結合では、集計制約付きテーブルの少なくとも1つの記録が、保護されていないテーブルの記録と一致する必要があります。

  • 0 を渡すと、クエリは別のテーブルの記録のみで構成されるグループを返すことができます。したがって、集計制約付きテーブルと保護されていないテーブル間の外部結合では、グループは集計制約付きテーブルのどの記録とも一致しない保護されていないテーブルの記録で構成される可能性があります。

ポリシーの本文では、ユーザー定義の関数、テーブル、ビューを参照することはできません。

TAG tag_name = 'tag_value' [ , tag_name = 'tag_value' , ... ]

タグ の名前とタグ文字列の値を指定します。

タグ値は常に文字列であり、タグ値の最大文字数は256です。

ステートメントでのタグの指定に関する情報については、 オブジェクトおよび列のタグクォータ をご参照ください。

COMMENT = 'string_literal'

集計ポリシーのコメントを追加するか、既存のコメントを上書きします。

デフォルト: 値なし

UNSET ...

集計ポリシーに対して、デフォルトにリセットして設定を解除する1つまたは複数のプロパティおよび/またはパラメーターを指定します。

  • TAG tag_name [ , tag_name ... ]

  • COMMENT

プロパティ/パラメーターをリセットするときは、名前のみを指定します。プロパティの値を指定すると、エラーが返されます。

アクセス制御の要件

この SQL コマンドの実行に使用される ロール には、少なくとも次の 権限 が必要です。

権限

オブジェクト

メモ

OWNERSHIP

集計ポリシー

OWNERSHIP is a special privilege on an object that is automatically granted to the role that created the object, but can also be transferred using the GRANT OWNERSHIP command to a different role by the owning role (or any role with the MANAGE GRANTS privilege).

スキーマ内の任意のオブジェクトを操作するには、親データベースとスキーマに対する USAGE 権限も必要であることに注意してください。

指定された権限のセットを使用してカスタムロールを作成する手順については、 カスタムロールの作成 をご参照ください。

セキュリティ保護可能なオブジェクト に対して SQL アクションを実行するためのロールと権限付与に関する一般的な情報については、 アクセス制御の概要 をご参照ください。

集計ポリシー DDL と権限の詳細については、 権限とコマンド をご参照ください。

使用上の注意

  • 既存の集計ポリシーを更新するためにポリシーの現在の本文を確認する必要がある場合は、 DESCRIBE AGGREGATION POLICY コマンドを実行します。また、 GET_DDL 関数を使用して、集計ポリシーの本文を含む完全な定義を取得することもできます。

  • 集計ポリシーを マネージドアクセススキーマ に(ALTER AGGREGATION POLICY ... RENAME TO 構文を使用して)移動することは、集計ポリシーの所有者(つまり、集計ポリシーの OWNERSHIP 権限を持つロール)がターゲットスキーマも所有している場合を 除き、禁止されています。

  • メタデータについて:

    注意

    Snowflakeサービスを使用する場合、お客様は、個人データ(ユーザーオブジェクト向け以外)、機密データ、輸出管理データ、またはその他の規制されたデータがメタデータとして入力されていないことを確認する必要があります。詳細については、 Snowflakeのメタデータフィールド をご参照ください。

集計ポリシーの SQL 式を変更し、すべての状況で2行の最小グループサイズを要求します。

ALTER AGGREGATION POLICY my_policy SET BODY -> AGGREGATION_CONSTRAINT(MIN_GROUP_SIZE=>2);
Copy

集計ポリシーの名前を変更します。

ALTER AGGREGATION POLICY my_policy RENAME TO agg_policy_table1;
Copy