Kategorien:

Kontextfunktionen (Sitzungsobjekt)

IS_APPLICATION_ROLE_IN_SESSION

Überprüft, ob die Anwendungsrolle in der aktuellen Sitzung des Verbrauchers aktiviert ist.

Siehe auch:

IS_ROLE_IN_SESSION, IS_DATABASE_ROLE_IN_SESSION

Syntax

IS_APPLICATION_ROLE_IN_SESSION( '<string_literal>' )
Copy

Argumente

'string_literal'

Der Name der Anwendungsrolle. Wenn der Name der Anwendungsrolle nicht angegeben ist, wird der Name der Anwendungsrolle aus dem aktuellen Kontext der Datenbanksitzung abgeleitet.

Rückgabewerte

  • TRUE wenn der angegebene Rollenname in der aktuellen Sitzung des Verbrauchers aktiviert ist.

    Die Funktion verwendet immer die aktuelle Sitzung des Verbrauchers und gibt TRUE zurück, wenn die Anwendungsrolle dem Verbraucher, der die Funktion verwendet, erteilt ist.

    Die Funktion gibt nicht TRUE zurück, wenn die Anwendung die Funktion aufruft, da die Anwendungsrollen der App zwar gehören, ihr aber nicht erteilt sind.

  • FALSE wenn der angegebene Anwendungsrollenname in der aktuellen Sitzung des Verbrauchers nicht aktiviert ist.

Nutzungshinweise

  • Wenn Sie die Funktion IS_APPLICATION_ROLE_IN_SESSION mit einer Maskierungsrichtlinie oder einer Zeilenzugriffsrichtlinie muss Ihr Snowflake-Konto die Enterprise Edition oder höher haben.

  • Es kann nur ein Rollenname als Argument übergeben werden.

  • Diese Funktion kann nicht in der Definition der materialisierten Ansicht verwendet werden, da die Funktion nicht deterministisch ist und Snowflake nicht bestimmen kann, welche Daten materialisiert werden sollen.

Beispiele

Überprüfen Sie, ob die angegebene Anwendungsrolle in der aktuellen Sitzung vorhanden ist:

SELECT IS_APPLICATION_ROLE_IN_SESSION('ANALYST');
Copy
+-------------------------------------------+
| IS_APPLICATION_ROLE_IN_SESSION('ANALYST') |
+-------------------------------------------+
| FALSE                                     |
+-------------------------------------------+