- 카테고리:
시스템 함수 (쿼리 정보)
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 를 두 번 호출하여 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" |
| ] |
+------------------+