- 类别:
:doc:`/sql-reference/functions-system`(查询信息)
SYSTEM$GET_RESULTSET_STATUS¶
返回 Snowflake Scripting 存储过程中的 RESULTSET 的状态。
该函数可用于获取为 RESULTSET 运行的 异步子作业 的状态。
语法¶
SYSTEM$GET_RESULTSET_STATUS( <resultset_name> )
实参¶
resultset_name
RESULTSET 的名称。
返回¶
该函数以 VARCHAR 类型的值返回 RESULTSET 的状态。状态值可能如下:
状态 |
描述 |
---|---|
RUNNING |
查询仍在运行。 |
SUCCESS |
查询已成功完成。 |
ABORTING |
查询正在服务器端中止。 |
FAILED_WITH_ERROR |
由于查询中出现错误,查询未成功完成。 |
FAILED_WITH_INCIDENT |
由于服务器端出现故障,查询未成功完成。 |
ABORTED |
查询已在服务器端中止。 |
QUEUED |
查询排队等待执行(即尚未开始运行),通常是因为它正在等待资源。 |
DISCONNECTED |
会话的连接已断开。查询的状态将很快更改为 FAILED_WITH_ERROR。 |
RESUMING_WAREHOUSE |
仓库正在启动,但查询尚未运行。 |
QUEUED_REPAIRING_WAREHOUSE |
仓库正在修复,查询已排队等待执行。 |
RESTARTED |
查询重新开始。 |
BLOCKED |
查询正在等待另一个语句所持有的锁。 |
使用说明¶
只能在 Snowflake Scripting 块 中调用该函数。
示例¶
以下示例调用了 SYSTEM$GET_RESULTSET_STATUS 两次,以返回为 RESULTSET 运行的异步子作业的状态。该示例在异步子作业运行时和完成后调用了该函数。
EXECUTE IMMEDIATE $$
DECLARE
status2 VARCHAR DEFAULT 'invalid';
BEGIN
LET res RESULTSET := ASYNC (SELECT SYSTEM$WAIT(3));
LET status VARCHAR := SYSTEM$GET_RESULTSET_STATUS(res);
AWAIT res;
status2 := SYSTEM$GET_RESULTSET_STATUS(res);
RETURN [status, status2];
END;
$$;
+------------------+
| GET_QUERY_STATUS |
+------------------+
| [ |
| "RUNNING", |
| "SUCCESS" |
| ] |
+------------------+