类别:

上下文函数 (会话)

LAST_QUERY_ID

返回当前会话中指定查询的 ID。如果未指定查询,则返回最近的查询。

小技巧

您可以使用 管道运算符 (->>),而不是将此函数与 RESULT_SCAN 函数一起使用来处理先前命令的结果。这样,您只需一个步骤就可以运行该命令并处理其结果集。

语法

LAST_QUERY_ID( [ <num> ] )
Copy

实参

num

根据查询的位置(在会话中)指定要返回的查询。

默认:-1

使用说明

  • 正数会从在会话中运行的第一个查询开始。例如:

    • LAST_QUERY_ID(1) 返回第一个查询。

    • LAST_QUERY_ID(2) 返回第二个查询。

    • LAST_QUERY_ID(6) 返回第六个查询。

  • 负数会从在会话中最近运行的查询开始。例如:

    • LAST_QUERY_ID(-1) 会返回最近运行的查询(等同于 LAST_QUERY_ID())。

    • LAST_QUERY_ID(-2) 会返回倒数第二运行的查询。

  • 最后一个 LAST_QUERY_ID 函数考虑在当前会话中运行的所有语句,包括子语句(例如,作为存储过程、匿名块或 管道运算符 语句的一部分执行的语句)。如果您只想根据某个语句在一系列语句中的位置来获取该语句的查询 ID,可以考虑使用管道运算符。对于较复杂的用例,建议在 Snowflake Scripting 块中使用 全局变量 SQLID

示例

返回最近运行查询的 ID:

SELECT LAST_QUERY_ID();
Copy

返回在会话中运行的第一个查询的 ID:

SELECT LAST_QUERY_ID(1);
Copy
语言: 中文