类别:

:doc:`/sql-reference/functions-system`(查询信息)

SYSTEM$GET_RESULTSET_STATUS

返回 Snowflake Scripting 存储过程中的 RESULTSET 的状态。

该函数可用于获取为 RESULTSET 运行的 异步子作业 的状态。

语法

SYSTEM$GET_RESULTSET_STATUS( <resultset_name> )
Copy

实参

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;
$$;
Copy
+------------------+
| GET_QUERY_STATUS |
+------------------+
| [                |
|   "RUNNING",     |
|   "SUCCESS"      |
| ]                |
+------------------+
语言: 中文