- カテゴリ:
システム関数 (クエリ情報)
SYSTEM$GET_RESULTSET_STATUS¶
Snowflake Scriptingストアドプロシージャの RESULTSET のステータスを返します。
この関数は、 RESULTSET で実行中の 非同期子ジョブ のステータスを取得するのに便利です。
構文¶
SYSTEM$GET_RESULTSET_STATUS( <resultset_name> )
引数¶
resultset_name
RESULTSET の名前。
戻り値¶
この関数は、 RESULTSET のステータスを VARCHAR 型の値で返します。以下のステータス値が可能です。
ステータス |
説明 |
---|---|
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 を2回呼び出して、 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" |
| ] |
+------------------+