首页 > 解决方案 > 我可以从 Snowflake 接口中的 SnowSql 会话中查找查询 ID 吗?

问题描述

是否可以使用 SnowSql 命令行界面 (CLI) 做同样的事情?我想使用 CLI 查看由其查询 ID 指定的特定查询的 SQL 代码。

使用网络控制台时,可以进入历史选项卡并按“查询 ID”过滤,例如“xxx-xxxxxx”,以查看特定查询的 SQL 代码和错误消息(如果有)。

标签: snowflake-cloud-data-platform

解决方案


您可以使用LAST_QUERY_ID来检索会话中查询的查询 ID。

select last_query_id();获取最近的查询 ID

select last_query_id(1);获取会话的第一个查询 ID

select last_query_id(-2);从前两个查询中获取查询 ID。

等等

然后,如果需要,您可以使用这样的查询来获取实际的查询文本。

SELECT QUERY_TEXT
  FROM TABLE(INFORMATION_SCHEMA.QUERY_HISTORY_BY_SESSION(RESULT_LIMIT => 10))
 WHERE QUERY_ID = '018cde0c-0077-09ee-0000-001812d26346'
;

如果您需要在 Session 之外检索查询信息,我相信如果适合您,您可以使用ACCOUNT_USAGE 。

SELECT * FROM SNOWFLAKE.ACCOUNT_USAGE.QUERY_HISTORY WHERE QUERY_ID = '018cde0c-0077-09ee-0000-001812d26346';

推荐阅读