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> ] )
Copy

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();
Copy

Renvoyer l’ID pour la première requête exécutée dans la session :

SELECT LAST_QUERY_ID(1);
Copy