Catégories :

Fonctions contextuelles (Objet de session)

IS_APPLICATION_ROLE_IN_SESSION

Vérifie si le rôle d’application est activé dans la session actuelle du consommateur.

Voir aussi :

IS_ROLE_IN_SESSION, IS_DATABASE_ROLE_IN_SESSION

Syntaxe

IS_APPLICATION_ROLE_IN_SESSION( '<string_literal>' )
Copy

Arguments

'string_literal'

Nom du rôle de l’application. Lorsque le nom du rôle d’application n’est pas spécifié, le nom du rôle d’application est déduit du contexte de session de base de données actuel.

Renvoie

  • TRUE lorsque le nom de rôle spécifié est activé dans la session actuelle du consommateur.

    La fonction utilise toujours la session actuelle du consommateur et renvoie TRUE lorsque le rôle d’application est accordé au consommateur à l’aide de la fonction.

    La fonction ne renvoie pas TRUE lorsque l’application appelle la fonction car les rôles d’application sont détenus mais non accordés à l’application.

  • FALSE lorsque le nom de rôle d’application spécifié n’est pas activé dans la session actuelle du consommateur.

Notes sur l’utilisation

  • Si vous utilisez la fonction IS_APPLICATION_ROLE_IN_SESSION avec une politique de masquage ou une politique d’accès aux lignes, vérifiez que votre compte Snowflake est bien en Enterprise Edition ou une version supérieure.

  • Un seul nom de rôle peut être validé en tant qu’argument.

  • Cette fonction ne peut pas être utilisée dans une définition de la vue matérialisée, car la fonction n’est pas déterministe et Snowflake ne peut pas déterminer les données à matérialiser.

Exemples

Vérifiez si le rôle d’application spécifié est dans la session en cours :

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