CREATE PROJECTION POLICY

Erstellt eine neue Projektionsrichtlinie im aktuellen/angegebenen Schema oder ersetzt eine bestehende Projektionsrichtlinie.

Wenden Sie nach dem Erstellen einer Projektionsrichtlinie diese mit dem Befehl ALTER TABLE … ALTER COLUMN auf eine Tabellenspalte oder mit dem Befehl ALTER VIEW auf eine Ansichtsspalte an.

Siehe auch:

Übersicht zu DDL für Projektionsrichtlinien

Unter diesem Thema:

Syntax

CREATE [ OR REPLACE ] PROJECTION POLICY [ IF NOT EXISTS ] <name>
  AS () RETURNS PROJECTION_CONSTRAINT -> <body>
  [ COMMENT = '<string_literal>' ]
Copy

Parameter

name

Bezeichner für die Projektionsrichtlinie. Dieser muss für Ihr Konto eindeutig sein.

Der Bezeichnerwert muss mit einem alphabetischen Zeichen beginnen und darf keine Leer- oder Sonderzeichen enthalten, es sei denn, die gesamte Bezeichnerzeichenfolge wird in doppelte Anführungszeichen gesetzt (z. B. "My object"). Bei Bezeichnern, die in doppelte Anführungszeichen eingeschlossen sind, ist auch die Groß-/Kleinschreibung zu beachten.

Weitere Details dazu finden Sie unter Anforderungen an Bezeichner.

body

SQL-Ausdruck, der bestimmt, ob eine Spalte projiziert werden soll.

Der Ausdruck ruft die interne Funktion PROJECTION_CONSTRAINT auf, um die Projektion einer Spalte zuzulassen oder zu verhindern:

  • PROJECTION_CONSTRAINT(ALLOW => TRUE) – Projektion der Spalte, an die die Projektionsrichtlinie angehängt ist, ist zulässig.

  • PROJECTION_CONSTRAINT(ALLOW => FALSE) – Projektion der Spalte, an die die Projektionsrichtlinie angehängt ist, ist nicht zulässig.

COMMENT = 'string_literal'

Fügt einen Kommentar hinzu oder überschreibt einen vorhandenen Kommentar für die Projektionsrichtlinie.

Anforderungen an die Zugriffssteuerung

Eine Rolle, die zur Ausführung dieses SQL-Befehls verwendet wird, muss mindestens die folgenden Berechtigungen haben:

Berechtigung

Objekt

Anmerkungen

CREATE PROJECTION POLICY

Schema

Beachten Sie, dass für die Bearbeitung eines Objekts in einem Schema auch die Berechtigung USAGE für die übergeordnete Datenbank und das Schema erforderlich ist.

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 zur DDL und zu Berechtigungen von Projektionsrichtlinien finden Sie unter Berechtigungen und Befehle.

Nutzungshinweise

  • Wenn Sie eine bestehende Projektionsrichtlinie aktualisieren möchten und dazu die aktuelle Definition der Richtlinie anzeigen müssen, können Sie den Befehl DESCRIBE PROJECTION POLICY oder die Funktion GET_DDL ausführen.

  • 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

Projizieren einer Spalte nicht zulassen:

CREATE OR REPLACE PROJECTION POLICY do_not_project AS ()
  RETURNS PROJECTION_CONSTRAINT ->
  PROJECTION_CONSTRAINT(ALLOW => false);
Copy

Projizieren einer Spalte für die kundenspezifische Rolle analyst, andernfalls Spalte nicht projizieren:

CREATE OR REPLACE PROJECTION POLICY project_analyst_only AS ()
  RETURNS PROJECTION_CONSTRAINT ->
    CASE
      WHEN CURRENT_ROLE() = 'ANALYST'
        THEN PROJECTION_CONSTRAINT(ALLOW => true)
      ELSE PROJECTION_CONSTRAINT(ALLOW => false)
    END;
Copy