- 类别:
上下文函数 (会话)
LAST_QUERY_ID¶
返回当前会话中指定查询的 ID。如果未指定查询,则返回最近的查询。
小技巧
您可以使用 管道运算符 (->>
),而不是将此函数与 RESULT_SCAN 函数一起使用来处理先前命令的结果。这样,您只需一个步骤就可以运行该命令并处理其结果集。
语法¶
LAST_QUERY_ID( [ <num> ] )
实参¶
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();
返回在会话中运行的第一个查询的 ID:
SELECT LAST_QUERY_ID(1);