- Kategorien:
SYSTEM$GET_TAG_ON_CURRENT_COLUMN¶
Gibt den Tag-Zeichenfolgenwert zurück, der der Spalte auf Grundlage des angegebenen Tags zugewiesen wurde, oder NULL, wenn der angegebenen Spalte kein Tag zugewiesen ist.
Wenn diese Funktion im Text (Body) einer Maskierungsrichtlinie oder einer Projektionsrichtlinie enthalten ist, kann der Wert eines Tags, das einer Spalte zugewiesen ist, den Rückgabewert der Richtlinie bestimmen, die dieser Spalte zugewiesen ist.
Syntax¶
SYSTEM$GET_TAG_ON_CURRENT_COLUMN( '<tag_name>' )
Argumente¶
'tag_name'
Bezeichner für das Tag als Zeichenfolge.
Wenn das Tag zum Beispiel
cost_center
heißt, verwenden Sie'cost_center'
als Argument.
Nutzungshinweise¶
Derzeit kann diese Funktion nur in einer Maskierungsrichtlinien- oder Projektionsrichtlinienbedingung verwendet werden, um den für eine Spalte festgelegten Tag-Zeichenfolgenwert dynamisch auszuwerten.
Snowflake gibt einen Fehler zurück, wenn die Funktion entweder in einer SELECT-Abfrage, einer Zeilenzugriffsrichtlinie, einer Ansicht oder einer benutzerdefinierten Funktion (UDF) verwendet wird.
Beachten Sie, dass diese Funktion für alle tabellenähnlichen Objekte (z. B. Ansichten) gilt.
Das Tag muss beim Aufrufen dieser Systemfunktion vorhanden sein. Andernfalls gibt Snowflake die folgende Fehlermeldung zurück:
Tag '<tag_name>' does not exist or not authorized.
Beispiele¶
- Maskierungsrichtlinie
Ein kontextbezogenes Beispiel für die Verwendung dieser Funktion mit einer Maskierungsrichtlinie finden Sie unter Beispiel 2: Schutz von Spaltendaten basierend auf dem Spalten-Tag-Zeichenfolgenwert.
- Projektionsrichtlinie
Wenn die folgende Projektionsrichtlinie einer Spalte zugewiesen ist, muss das Tag
tags.accounting_col
auf dieser Spalte den Wertpublic
haben, damit die Spalte projiziert werden kann.
CREATE PROJECTION POLICY mypolicy
AS () RETURNS PROJECTION_CONSTRAINT ->
CASE
WHEN SYSTEM$GET_TAG_ON_CURRENT_COLUMN('tags.accounting_col') = 'public'
THEN PROJECTION_CONSTRAINT(ALLOW => true)
ELSE PROJECTION_CONSTRAINT(ALLOW => false)
END;