Catégories :

Fonctions contextuelles (général)

SYS_CONTEXT

Renvoie des informations sur le contexte dans lequel la fonction est appelée.

Voir aussi :

SYS_CONTEXT (espace de noms SNOWFLAKE$APPLICATION) , SYS_CONTEXT (espace de noms SNOWFLAKE$ENVIRONMENT) , SYS_CONTEXT (espace de noms SNOWFLAKE$ORGANIZATION) , SYS_CONTEXT (espace de noms SNOWFLAKE$ORGANIZATION_SESSION) , SYS_CONTEXT (espace de noms SNOWFLAKE$SESSION)

Syntaxe

Syntaxe pour la récupération des propriétés :

SYS_CONTEXT(
  '<namespace>' ,
  '<property>'
)
Copy

Syntaxe pour l’appel des fonctions :

SYS_CONTEXT(
  '<namespace>' ,
  '<function>' , '<argument>' [ , ... ]
)
Copy

Arguments

'namespace'

Espace de noms de la propriété que vous souhaitez récupérer ou de la fonction que vous souhaitez appeler. Vous pouvez spécifier l’un des espaces de noms suivants :

Espace de noms

Description

SNOWFLAKE$APPLICATION

Propriétés et fonctions fournissant le contexte autour de l’application dans laquelle la fonction est appelée.

SNOWFLAKE$ENVIRONMENT

Propriétés fournissant le contexte autour de l’environnement dans lequel la fonction est appelée. Ces propriétés comprennent des informations sur :

  • Le client, le pilote ou la bibliothèque utilisé pour appeler la fonction.

  • Compte associé à la session dans laquelle la fonction est appelée.

  • La région de ce compte.

SNOWFLAKE$ORGANIZATION

Fonctions fournissant le contexte autour de l’organisation actuelle.

SNOWFLAKE$ORGANIZATION_SESSION

Propriétés fournissant le contexte autour de la session dans laquelle la fonction est appelée, lorsque le compte actuel se trouve dans une organisation.

SNOWFLAKE$SESSION

Propriétés et fonctions fournissant le contexte autour de la session dans laquelle la fonction est appelée.

'property'

Nom de la propriété à récupérer. Les propriétés que vous pouvez spécifier dépendent de l’espace de noms. Consultez la documentation pour un espace de noms pour obtenir la liste des propriétés que vous pouvez spécifier.

'function'

Nom de la fonction que vous voulez appeler. Les fonctions que vous pouvez appeler dépendent de l’espace de noms. Consultez la documentation pour un espace de noms pour obtenir la liste des fonctions que vous pouvez appeler.

'argument' [ , ... ]

Arguments à transmettre à la fonction que vous souhaitez appeler.

Renvoie

La fonction renvoie une valeur VARCHAR ou NULL.

  • La valeur de retour dépend de la propriété que vous récupérez ou de la fonction que vous appelez.

    Consultez la documentation pour chaque espace de noms pour obtenir des informations sur les propriétés et les valeurs de retour des fonctions dans cet espace de noms.

  • La fonction renvoie NULL if :

    • L’ espace de noms n’est pas accessible depuis le contexte de l’appel de fonction. Par exemple, la tentative d’accès aux propriétés dans l’espace de noms SNOWFLAKE$APPLICATION renvoie NULL si vous appelez la fonction en dehors du code de l’application.

    • La valeur de la propriété ou la valeur de retour de l’appel de fonction est NULL ou inexistante.

Certaines propriétés et fonctions renvoient des valeurs booléennes sous la forme de chaîne TRUE ou FALSE. 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$SESSION', 'IS_ROLE_ACTIVATED', 'MY_CUSTOM_ROLE')::BOOLEAN = TRUE;
Copy
+-----------------------------------------------------------------------------------------+
| SYS_CONTEXT('SNOWFLAKE$SESSION', 'IS_ROLE_ACTIVATED', 'MY_CUSTOM_ROLE')::BOOLEAN = TRUE |
|-----------------------------------------------------------------------------------------|
| True                                                                                    |
+-----------------------------------------------------------------------------------------+

Exigences en matière de contrôle d’accès

Consultez la documentation pour chaque espace de noms pour obtenir des informations sur les exigences de contrôle d’accès aux propriétés et aux fonctions de cet espace de noms.

Notes sur l’utilisation

Consultez la documentation pour chaque espace de noms pour obtenir les notes sur l’utilisation des propriétés et des fonctions dans cet espace de noms.

Exemples

Consultez la documentation pour chaque espace de noms pour obtenir des exemples de récupération des propriétés et d’appel des fonctions dans cet espace de noms.