- Kategorien:
Systemfunktionen (Abfrageinformationen)
SYSTEM$GET_RESULTSET_STATUS¶
Gibt den Status eines RESULTSET in einer gespeicherten Snowflake Scripting-Prozedur zurück.
Diese Funktion kann nützlich sein, um den Status eines asynchronen untergeordneten Jobs zu ermitteln, der für ein RESULTSET ausgeführt wird.
Syntax¶
SYSTEM$GET_RESULTSET_STATUS( <resultset_name> )
Argumente¶
resultset_name
Der Name der RESULTSET.
Rückgabewerte¶
Diese Funktion gibt den Status des RESULTSET in einem Wert vom Typ VARCHAR zurück. Die folgenden Statuswerte sind möglich:
Status |
Beschreibung |
---|---|
RUNNING |
Die Abfrage wird noch ausgeführt. |
SUCCESS |
Die Abfrage wurde erfolgreich abgeschlossen. |
ABORTING |
Die Abfrage wird auf Serverseite gerade abgebrochen. |
FAILED_WITH_ERROR |
Die Abfrage wurde aufgrund eines Fehlers in der Abfrage erfolglos beendet. |
FAILED_WITH_INCIDENT |
Die Abfrage wurde aufgrund eines Vorfalls auf der Serverseite erfolglos beendet. |
ABORTED |
Die Abfrage wurde auf der Serverseite abgebrochen. |
QUEUED |
Die Abfrage steht in der Warteschlange für die Ausführung (d. h. sie wurde noch nicht gestartet), in der Regel, da sie auf Ressourcen wartet. |
DISCONNECTED |
Die Verbindung der Sitzung ist unterbrochen. Der Status der Abfrage wird bald in FAILED_WITH_ERROR geändert. |
RESUMING_WAREHOUSE |
Das Warehouse wird gestartet und die Abfrage läuft noch nicht. |
QUEUED_REPAIRING_WAREHOUSE |
Das Warehouse wird repariert und die Abfrage steht in der Warteschlange zur Ausführung. |
RESTARTED |
Die Abfrage wurde neu gestartet. |
BLOCKED |
Die Abfrage wartet auf eine Sperre, die von einer anderen Anweisung gehalten wird. |
Nutzungshinweise¶
Diese Funktion kann nur in einem Snowflake Scripting-Block aufgerufen werden.
Beispiele¶
Das folgende Beispiel ruft SYSTEM$GET_RESULTSET_STATUS zweimal auf, um den Status eines asynchronen untergeordneten Jobs zurückzugeben, der für ein RESULTSET läuft. Das Beispiel ruft die Funktion auf, während der asynchrone untergeordnete Job ausgeführt wird und nachdem er abgeschlossen ist.
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" |
| ] |
+------------------+