当从snowsql shell运行查询时,我可以在UI上看到生成的查询ID。稍后,如果我必须在历史记录中搜索相同的内容,我想搜索我可以定义的查询 ID 或以某种方式标记查询。
运行查询时是否可以创建自己的查询 ID 或标记?
不能创建自己的查询 ID,但可以使用QUERY_TAG
参数,请参阅此处。
您可以稍后在扫描INFORMATION_SCHEMA.QUERY_HISTORY
表时使用它,请参阅此处,它有一个QUERY_TAG
列。还可以在 UI 的"History
"选项卡中使用Query Tag
筛选器。
还可以使用 LAST_QUERY_ID 以编程方式获取雪花生成的QUERY_ID
。然后,您可以在QUERY_HISTORY
表和UI中使用它进行过滤。
您实际上并没有在 CLI 中提供这个:
如果您有 SQL 脚本 (running_test.sql(:
更改会话集 QUERY_TAG = ;/* 后跟 SQL */
然后你以正常的方式调用snowsql cli:
snowsql -c "CONNECTION_NAME" -f "full_path_to_sql_file"> write_to_log_file
(连接名称是您在配置文件中设置的名称(
或 snowsql "account_details + 用户名 + 密码" -f "full_path_to_sql_file"> write_to_log_file
您可以为帐户、用户或会话设置查询标签。这在跟踪许多服务中的查询行为时特别有用。
请注意,设置QUERY_TAG
将充当默认值,并将被更精细的级别(帐户>用户>会话(覆盖。
/*
The following will provide a default query tag to all queries
performed by an account (replace `MY_ACCOUNT` with your account name)
*/
ALTER ACCOUNT MY_ACCOUNT SET
QUERY_TAG = 'Data Warehouse'
;
/*
The following will provide a default query tag to all queries
performed by a user (replace `MY_USER` with your user name)
NOTE: This is more granular than ACCOUNT and will override
default QUERY_TAG
*/
ALTER USER MY_USER SET
QUERY_TAG = 'Data Transformations'
;
/*
The following will provide a query tag to all queries
performed by this session.
NOTE: This is more granular than USER and ACCOUNT and
will override default QUERY_TAG
*/
ALTER SESSION SET
QUERY_TAG = 'Doing this very specific task'
;