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 権限が必要です。スキーマに対する 任意の権限を付与されたロールは、そのロールがスキーマを解決できることに注意してください。たとえば、スキーマに対するCREATE権限を付与されたロールは、そのスキーマにオブジェクトを作成できますが、そのスキーマに対する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