ALTER JOIN POLICY

Ersetzt die bestehenden Regeln oder den Kommentar für eine Verknüpfungsrichtlinie. Ermöglicht Ihnen auch das Umbenennen einer Verknüpfungsrichtlinie.

Siehe auch:

DDL-Referenz für Verknüpfungsrichtlinien

Syntax

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

Parameter

name

Gibt den Bezeichner für die zu ändernde Verknüpfungsrichtlinie an.

Wenn der Bezeichner Leerzeichen oder Sonderzeichen enthält, muss die gesamte Zeichenfolge in doppelte Anführungszeichen gesetzt werden. Bei Bezeichnern, die in doppelte Anführungszeichen eingeschlossen sind, ist auch die Groß- und Kleinschreibung zu beachten.

Weitere Informationen dazu finden Sie unter Anforderungen an Bezeichner.

RENAME TO new_name

Gibt den neuen Bezeichner für die Verknüpfungsrichtlinie an. Dieser muss für Ihr Schema eindeutig sein. Der neue Bezeichner kann nicht verwendet werden, wenn der Bezeichner bereits für eine andere Verknüpfungsrichtlinie verwendet wird.

Weitere Informationen dazu finden Sie unter Anforderungen an Bezeichner.

Sie können das Objekt in eine andere Datenbank und/oder in ein anderes Schema verschieben und dabei optional das Objekt umbenennen. Geben Sie dazu einen qualifizierten new_name-Wert an, der den neuen Datenbank- und/oder Schemanamen im Format db_name.schema_name.object_name bzw. schema_name.object_name enthält.

Bemerkung

  • Die Zieldatenbank und/oder das Zielschema müssen bereits vorhanden sein. Außerdem darf in der Zieldatenbank nicht bereits ein gleichnamiges Schema vorhanden sein, da die Anweisung sonst einen Fehler zurückgibt.

  • Das Verschieben eines Objekts in ein verwaltetes Zugriffsschema ist nicht zulässig, es sei denn, der Objekteigentümer (d. h. die Rolle mit der Berechtigung OWNERSHIP für das Objekt) ist auch Eigentümer des Zielschemas.

SET ...

Gibt eine (oder mehrere) Eigenschaft(en) an, die für die Verknüpfungsrichtlinie festgelegt werden soll(en):

BODY -> expression

SQL-Ausdruck, der die Einschränkungen einer Verknüpfungsrichtlinie bestimmt.

Um den Hauptteil (Body) der Verknüpfungsrichtlinie zu definieren, rufen Sie die Funktion JOIN_CONSTRAINT auf, die TRUE oder FALSE zurückgibt. Wenn die Funktion TRUE zurückgibt, müssen Abfragen eine Verknüpfung verwenden, um Ergebnisse zu liefern.

Die Syntax der JOIN_CONSTRAINT-Funktion lautet:

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

Wobei:

JOIN_REQUIRED => boolean_expression

Gibt an, ob eine Verknüpfung in Abfragen erforderlich ist, wenn Daten aus Tabellen oder Ansichten ausgewählt werden, denen die Verknüpfungsrichtlinie zugewiesen ist.

Der Hauptteil (body) einer Richtlinie kann nicht auf benutzerdefinierte Funktionen, Tabellen oder Ansichten verweisen.

Erlaubte Verknüpfungspalten werden in der Anweisung CREATE oder ALTER für die Tabelle oder die Ansicht angegeben, auf die die Richtlinie angewendet wird, nicht in der Anweisung CREATE JOIN POLICY.

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

Gibt den Namen des Tags und den Wert der Tag-Zeichenfolge an.

Der Tag-Wert ist immer eine Zeichenfolge, die maximale 256 Zeichen lang sein kann.

Weitere Informationen zur Angabe von Tags in einer Anweisung finden Sie unter Tag-Kontingente für Objekte und Spalten.

COMMENT = 'string_literal'

Fügt einen Kommentar hinzu oder überschreibt den vorhandenen Kommentar für die Verknüpfungsrichtlinie.

Standard: Kein Wert

UNSET ...

Gibt eine oder mehrere Eigenschaften und/oder Parameter an, die für die Verknüpfungsrichtlinie auf ihre Standardwerte zurückgesetzt werden:

  • TAG tag_name [ , tag_name ... ]

  • COMMENT

Wenn Sie eine Eigenschaft und/oder einen Parameter zurücksetzen, geben Sie nur den Namen an. Die Angabe eines Wertes für die Eigenschaft gibt einen Fehler zurück.

Anforderungen an die Zugriffssteuerung

Eine Rolle, die zur Ausführung dieser Operation verwendet wird, muss mindestens die folgenden Berechtigungen haben:

Berechtigung

Objekt

Anmerkungen

OWNERSHIP

Verknüpfungsrichtlinie

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-Berechtigung für die übergeordnete Datenbank und das Schema ist erforderlich, um Operationen an einem beliebigen Objekt in einem Schema durchzuführen.

Eine Anleitung zum Erstellen einer kundenspezifischen Rolle mit einer bestimmten Gruppe von Berechtigungen finden Sie unter Erstellen von kundenspezifischen Rollen.

Allgemeine Informationen zu Rollen und Berechtigungen zur Durchführung von SQL-Aktionen auf sicherungsfähigen Objekten finden Sie unter Übersicht zur Zugriffssteuerung.

Weitere Informationen über die Verknüpfungsrichtlinien-DDL und Berechtigungen finden Sie unter Berechtigungen und Befehle.

Nutzungshinweise

  • Wenn Sie eine bestehende Verknüpfung aktualisieren möchten und den aktuellen Hauptteil (Body) der Richtlinie anzeigen müssen, führen Sie den Befehl DESCRIBE JOIN POLICY aus. Sie können auch die Funktion GET_DDL verwenden, um die vollständige Definition der Verknüpfungsrichtlinie zu erhalten, einschließlich ihres Hauptteils (Body).

  • Das Verschieben einer Verknüpfungsrichtlinie in ein verwaltetes Zugriffsschema (unter Verwendung der Syntax ALTER JOIN POLICY … RENAME TO ) ist nicht erlaubt, es sei denn, der Eigentümer der Verknüpfungsrichtlinie (d. h. die Rolle mit der Berechtigung OWNERSHIP für die Verknüpfungsrichtlinie) ist auch Eigentümer des Zielschemas.

  • Metadaten:

    Achtung

    Kunden müssen sicherstellen, dass bei der Nutzung des Snowflake-Dienstes keine personenbezogenen Daten (außer für ein Objekt „Benutzer“), sensible Daten, exportkontrollierte Daten oder andere regulierte Daten als Metadaten eingegeben werden. Weitere Informationen dazu finden Sie unter Metadatenfelder in Snowflake.

Beispiele

Den SQL-Ausdruck für eine Verknüpfungsrichtlinie ändern:

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

Eine Verknüpfungsrichtlinie umbenennen:

ALTER JOIN POLICY my_join_policy RENAME TO my_join_policy_2;
Copy