ALTER JOIN POLICY

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

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

結合ポリシー DDL リファレンス

構文

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

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

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

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

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

ALTER JOIN 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 式。

結合ポリシーの本文を定義するには、 TRUE または FALSE を返す JOIN_CONSTRAINT 関数を呼び出します。関数が TRUE を返す場合、クエリは結果を返すために結合を使用する必要があります。

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

JOIN_CONSTRAINT (
  { JOIN_REQUIRED => <boolean_expression> }
  )
Copy

条件:

JOIN_REQUIRED => boolean_expression

クエリで結合ポリシーが割り当てられているテーブル、またはビューからデータを選択するときに、結合が必要かどうかを指定します。

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

許可される結合列は、 CREATE JOIN POLICY ステートメントではなく、ポリシーが適用されるテーブルまたはビューの CREATE または ALTER ステートメントで指定されます。

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

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

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

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

COMMENT = 'string_literal'

結合ポリシーのコメントを追加または既存のコメントを上書きします。

デフォルト: 値なし

UNSET ...

結合ポリシーの設定を解除する(デフォルトに戻す)プロパティやパラメーターを1つ以上指定します。

  • TAG tag_name [ , tag_name ... ]

  • COMMENT

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

アクセス制御の要件

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

権限

オブジェクト

メモ

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 JOIN POLICY コマンドを実行します。 GET_DDL 関数を使用して、本文を含む結合ポリシーの完全な定義を取得することもできます。

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

  • メタデータについて:

    注意

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

結合ポリシーの SQL 式を変更します。

ALTER JOIN POLICY jp3 SET BODY -> JOIN_CONSTRAINT(JOIN_REQUIRED => FALSE);
Copy

結合ポリシーの名前を変更します。

ALTER JOIN POLICY my_join_policy RENAME TO my_join_policy_2;
Copy