- Catégories :
Fonctions contextuelles (session)
LAST_QUERY_ID¶
Renvoie l’ID d’une requête spécifiée dans la session en cours. Si aucune requête n’est spécifiée, la requête la plus récente est renvoyée.
Astuce
Au lieu d’utiliser cette fonction avec la fonction RESULT_SCAN, vous pouvez utiliser l”opérateur pipe (->>
) pour traiter les résultats d’une commande précédente. Ainsi, vous pouvez exécuter la commande et traiter son jeu de résultats en une seule étape.
Syntaxe¶
LAST_QUERY_ID( [ <num> ] )
Arguments¶
num
Spécifie la requête à renvoyer, en fonction de la position de la requête (dans la session).
Par défaut :
-1
Notes sur l’utilisation¶
Les nombres positifs commencent par la première requête exécutée dans la session. Par exemple :
LAST_QUERY_ID(1)
renvoie la première requête.LAST_QUERY_ID(2)
renvoie la deuxième requête.LAST_QUERY_ID(6)
renvoie la sixième requête.
Les nombres négatifs commencent par la requête la plus récente de la session. Par exemple :
LAST_QUERY_ID(-1)
renvoie la requête la plus récente (équivalente àLAST_QUERY_ID()
).LAST_QUERY_ID(-2)
renvoie la seconde requête la plus récente.
La dernière fonction LAST_QUERY_ID prend en compte toutes les instructions qui ont été exécutées dans la session en cours, y compris les instructions enfant (par exemple, les instructions qui ont été exécutées dans le cadre d’une procédure stockée, d’un bloc anonyme ou d’une instruction opérateur pipe). Si vous souhaitez obtenir l’ID de la requête d’une instruction en fonction uniquement de sa position dans une série d’instructions, envisagez d’utiliser l’opérateur pipe. Pour les cas d’utilisation plus complexes, nous recommandons d’utiliser la variable globale SQLID dans les blocs Exécution de scripts Snowflake.
Exemples¶
Renvoyer l’ID pour la requête la plus récente :
SELECT LAST_QUERY_ID();
Renvoyer l’ID pour la première requête exécutée dans la session :
SELECT LAST_QUERY_ID(1);