- Catégories :
Fonctions contextuelles (général)
IS_APPLICATION_ROLE_ACTIVATED (fonction SYS_CONTEXT)¶
Renvoie la valeur VARCHAR 'TRUE' si un rôle d’application est activé dans le contexte spécifié.
Syntaxe¶
SYS_CONTEXT(
'SNOWFLAKE$APPLICATION' ,
'IS_APPLICATION_ROLE_ACTIVATED' ,
'<context>' ,
'<app_role>'
)
Arguments¶
'SNOWFLAKE$APPLICATION'Spécifie que vous voulez appeler une fonction pour renvoyer des informations de contexte sur l’application dans laquelle la fonction est appelée.
'IS_APPLICATION_ROLE_ACTIVATED'Appelle la fonction IS_APPLICATION_ROLE_ACTIVATED.
'context'Spécifie le contexte d’exécution que vous souhaitez vérifier. Vous pouvez spécifier l’une des valeurs suivantes :
SESSION: Vérifie si le rôle d’application se trouve dans la hiérarchie des rôles des rôles principaux ou secondaires de la session en cours. La fonction renvoie'TRUE'si le rôle se trouve dans la hiérarchie des rôles.ACTIVE: Vérifie si le rôle d’application se trouve dans la hiérarchie des rôles dans le contexte de l’appel en cours.Par exemple, dans un appel à une procédure stockée des droits du propriétaire, la procédure est exécutée par le rôle du propriétaire. La fonction renvoie
'TRUE'si le rôle d’application se trouve dans la hiérarchie des rôles du rôle du propriétaire.
'app_role'Spécifie le rôle d’application à vérifier.
Ne donnez pas le nom de l’application au nom de rôle. La fonction détermine automatiquement le nom de l’application à partir du contexte dans lequel la fonction est appelée.
Renvoie¶
La fonction renvoie l’une des valeurs VARCHAR suivantes :
'TRUE'si le rôle d’application est activé dans le contexte spécifié parcontext.'FALSE'si le rôle d’application n’est pas activé dans ce contexte ou si le rôle d’application n’est pas valide.
Pour comparer cette valeur de retour à la valeur BOOLEAN TRUE ou FALSE, définissez la valeur de retour sur BOOLEAN. Par exemple :
SELECT SYS_CONTEXT('SNOWFLAKE$APPLICATION', 'IS_APPLICATION_ROLE_ACTIVATED', 'SESSION', 'my_app_role')::BOOLEAN = TRUE;
Notes sur l’utilisation¶
Exemples¶
L’exemple suivant renvoie TRUE si le rôle d’application my_app_role se trouve dans la hiérarchie des rôles des rôles principaux ou secondaires de la session :
SELECT SYS_CONTEXT('SNOWFLAKE$APPLICATION', 'IS_APPLICATION_ROLE_ACTIVATED', 'SESSION', 'my_app_role');