Documentation de référence sur les variables système
BigQuery accepte les variables système suivantes pour les requêtes multi-instructions ou dans des sessions. Vous pouvez utiliser des variables système pour définir ou récupérer des informations lors de l'exécution d'une requête, de la même manière que les variables de langage procédural définies par l'utilisateur.
Nom | Type | Lecture et écriture ou lecture seule | Description |
---|---|---|---|
@@current_job_id |
STRING |
Lecture seule | ID de la tâche en cours d'exécution. Dans le contexte d'une requête multi-instruction, renvoie la tâche responsable de l'instruction en cours et non pas l'intégralité de la requête multi-instruction. |
@@dataset_id |
STRING |
Lecture et écriture |
ID de l'ensemble de données par défaut dans le projet actuel. Cet ID est utilisé lorsqu'un ensemble de données n'est pas spécifié pour un projet dans la requête. Vous pouvez utiliser l'instruction SET pour attribuer @@dataset_id à un autre ID d'ensemble de données dans le projet en cours. Les variables système @@dataset_project_id et @@dataset_id peuvent être définies et utilisées ensemble.
|
@@dataset_project_id |
STRING |
Lecture et écriture |
ID du projet par défaut utilisé lorsqu'il n'est pas spécifié pour un ensemble de données utilisé dans la requête. Si @@dataset_project_id n'est pas défini ou s'il est défini sur NULL , le projet d'exécution de la requête (@@project_id ) est utilisé. Vous pouvez utiliser l'instruction SET pour attribuer @@dataset_project_id à un autre ID de projet. Les variables système @@dataset_project_id et @@dataset_id peuvent être définies et utilisées ensemble.
|
@@last_job_id |
STRING |
Lecture seule |
ID du job le plus récent à exécuter dans la requête multi-instruction actuelle, à l'exclusion du job en cours. Si la requête multi-instruction contient des instructions CALL , cette tâche peut provenir d'une autre procédure.
|
@@project_id |
STRING |
Lecture seule |
ID du projet utilisé pour exécuter la requête actuelle. Dans le contexte d'une procédure, @@project_id fait référence au projet qui exécute la requête multi-instruction et non au projet propriétaire de la procédure.
|
@@query_label |
STRING |
Lecture et écriture |
Libellé de requête à associer aux tâches de la requête, dans la requête multi-instruction ou la session actuelle. Si cette option est définie, toutes les tâches de requête suivantes du script ou de la session seront associées à ce libellé.
Si cette option n'est pas définie dans une requête, la valeur de cette variable système est NULL . Pour obtenir un exemple de définition de cette variable système, consultez la section Associer des tâches dans une session à un libellé.
|
@@row_count |
INT64 |
Lecture seule |
Si cette variable est utilisée dans une requête multi-instruction et que l'instruction précédente est en LMD, spécifie le nombre de lignes modifiées, insérées ou supprimées suite à cette instruction LMD. Si l'instruction précédente est une instruction MERGE, @@row_count représente le cumul total de lignes insérées, supprimées et effacées. Cette valeur est NULL si la requête concernée n'est pas une requête multi-instruction.
|
@@script.bytes_billed |
INT64 |
Lecture seule |
Nombre total d'octets facturés jusqu'à présent dans le job de requête multi-instruction en cours d'exécution. Cette valeur est NULL si ce paramètre n'est pas spécifié dans la tâche.
|
@@script.bytes_processed |
INT64 |
Lecture seule |
Nombre total d'octets traités jusqu'à présent dans le job de requête multi-instruction en cours d'exécution. Cette valeur est NULL si ce paramètre n'est pas spécifié dans la tâche.
|
@@script.creation_time |
TIMESTAMP |
Lecture seule |
Heure de création du job de requête multi-instruction en cours d'exécution.
Cette valeur est NULL si ce paramètre n'est pas spécifié dans la tâche.
|
@@script.job_id |
STRING |
Lecture seule |
ID du job de requête multi-instruction en cours d'exécution. Cette valeur est NULL si ce paramètre n'est pas spécifié dans la tâche.
|
@@script.num_child_jobs |
INT64 |
Lecture seule |
Nombre de tâches enfants actuellement terminées. Cette valeur est NULL si ce paramètre n'est pas spécifié dans la tâche.
|
@@script.slot_ms |
INT64 |
Lecture seule |
Nombre d'emplacements de millisecondes utilisés jusqu'à présent par le script.
Cette valeur est NULL si ce paramètre n'est pas spécifié dans la tâche.
|
@@session_id |
INT64 |
Lecture seule | ID de la session à laquelle la requête actuelle est associée. |
@@time_zone |
STRING |
Lecture et écriture |
Fuseau horaire par défaut à utiliser dans les fonctions SQL dépendantes du fuseau horaire, lorsqu'un fuseau horaire explicite n'est pas spécifié en tant qu'argument.
@@time_zone peut être modifié en utilisant une instruction SET pour n'importe quel nom de fuseau horaire valide.
Au début de chaque script, @@time_zone commence par "UTC".
|
Pour des raisons de rétrocompatibilité, les expressions contenues dans une clause OPTIONS
ou FOR SYSTEM TIME AS OF
utilisent par défaut le fuseau horaire America/Los_Angeles
, tandis que toutes les autres expressions de type date/heure utilisent le fuseau horaire UTC
par défaut. Si @@time_zone
a été précédemment défini dans la requête multi-instruction, le fuseau horaire choisi s'applique à toutes les expressions de type date/heure, y compris les clauses OPTIONS
et FOR SYSTEM TIME AS OF
.
Outre les variables système présentées ci-dessus, vous pouvez utiliser des variables système EXCEPTION
pendant l'exécution d'une requête multi-instruction. Pour en savoir plus sur les variables système EXCEPTION
, consultez la documentation sur l'instruction de langage procédural BEGIN...EXCEPTION.
Pour obtenir des exemples d'utilisation de variables système dans les requêtes multi-instructions, consultez la page Définir une variable.
Pour obtenir des exemples d'utilisation des variables système dans les sessions, consultez la section Exemple de session.