Fonctions contextuelles

Cette famille de fonctions permet de collecter des informations sur le contexte dans lequel l’instruction est exécutée. Ces fonctions sont évaluées au maximum une fois par instruction.

Dans ce chapitre :

Liste des fonctions

Sous-catégorie

Fonction

Remarques

Contexte général

CURRENT_CLIENT

CURRENT_DATE

CURRENT_IP_ADDRESS

CURRENT_REGION

CURRENT_TIME

CURRENT_TIMESTAMP

CURRENT_VERSION

GETDATE

Alias pour CURRENT_TIMESTAMP.

LOCALTIME

Alias pour CURRENT_TIME.

LOCALTIMESTAMP

Alias pour CURRENT_TIMESTAMP.

SYSDATE

SYSTIMESTAMP

Contexte de la session

ALL_USER_NAMES

CURRENT_ACCOUNT

Renvoie le localisateur de compte.

CURRENT_ACCOUNT_NAME

Renvoie le nom du compte.

CURRENT_ORGANIZATION_NAME

CURRENT_ROLE

CURRENT_AVAILABLE_ROLES

CURRENT_SECONDARY_ROLES

CURRENT_SESSION

CURRENT_STATEMENT

CURRENT_TRANSACTION

CURRENT_USER

GETVARIABLE

LAST_QUERY_ID

LAST_TRANSACTION

Contexte de l’objet de la session

CURRENT_DATABASE

CURRENT_ROLE_TYPE

CURRENT_SCHEMA

CURRENT_SCHEMAS

CURRENT_WAREHOUSE

INVOKER_ROLE

INVOKER_SHARE

IS_DATABASE_ROLE_IN_SESSION

IS_GRANTED_TO_INVOKER_ROLE

IS_ROLE_IN_SESSION

POLICY_CONTEXT

Contexte d’alerte

GET_CONDITION_QUERY_UUID

Notes sur l’utilisation

  • Les fonctions contextuelles ne nécessitent généralement pas d’arguments.

  • Pour se conformer aux normes ANSI, les fonctions contextuelles suivantes peuvent être appelées sans parenthèse :

    • CURRENT_DATE

    • CURRENT_TIME

    • CURRENT_TIMESTAMP

    • CURRENT_USER

    • LOCALTIME

    • LOCALTIMESTAMP

Exemples

Affichez l’entrepôt virtuel, la base de données et le schéma actuels pour la session :

SELECT CURRENT_WAREHOUSE(), CURRENT_DATABASE(), CURRENT_SCHEMA();

---------------------+--------------------+------------------+
 CURRENT_WAREHOUSE() | CURRENT_DATABASE() | CURRENT_SCHEMA() |
---------------------+--------------------+------------------+
 MY_WAREHOUSE        | MY_DB              | PUBLIC           |
---------------------+--------------------+------------------+
Copy

Affichez la date, l’heure et l’horodatage actuels (notez que les parenthèses ne sont pas nécessaires pour appeler ces fonctions) :

SELECT CURRENT_DATE, CURRENT_TIME, CURRENT_TIMESTAMP;

--------------+--------------+---------------------------------+
 CURRENT_DATE | CURRENT_TIME |        CURRENT_TIMESTAMP        |
--------------+--------------+---------------------------------+
 2015-04-28   | 17:43:46     | Tue, 28 Apr 2015 17:43:46 -0700 |
--------------+--------------+---------------------------------+
Copy