- Kategorien:
DYNAMIC_TABLE_REFRESH_HISTORY¶
Diese Tabellenfunktion gibt Informationen über jede Aktualisierung (abgeschlossen und in Ausführung) von dynamischen Tabellen zurück.
Diese Tabellenfunktion gibt alle in Ausführung befindlichen Aktualisierungen sowie alle Aktualisierungen zurück, die eine REFRESH_VERSION innerhalb von 1 Tag nach dem aktuellen Zeitpunkt haben.
Syntax¶
DYNAMIC_TABLE_REFRESH_HISTORY(
[ DATA_TIMESTAMP_START => <constant_expr> ]
[ , DATA_TIMESTAMP_END => <constant_expr> ]
[ , RESULT_LIMIT => <integer> ]
[ , NAME => '<string>' ]
[ , NAME_PREFIX => '<string>' ]
[ , ERROR_ONLY => { TRUE | FALSE } ]
)
Argumente¶
Alle Argumente sind optional. Wenn keine Argumente angegeben werden, werden 100 Aktualisierungen aus allen dynamischen Tabellen des Kontos zurückgegeben.
DATA_TIMESTAMP_START => constant_expr
, .DATA_TIMESTAMP_END => constant_expr
Zeitbereich (im Format TIMESTAMP_LTZ), in der die Aktualisierungen stattgefunden haben.
Wenn weder eine Start- noch eine Endversion angegeben wird, ist der Standardbereich der letzte Tag.
Wenn kein Enddatum angegeben ist, wird CURRENT_TIMESTAMP als Ende des Bereichs verwendet.
Wenn keine Startversion angegeben ist, beginnt der Bereich 1 Tag vor dem Start von DATE_TIMESTAMP_END.
RESULT_LIMIT => integer
Eine Zahl, die die maximale Anzahl von Zeilen angibt, die von der Funktion zurückgegeben werden.
Wenn die Anzahl der übereinstimmenden Zeilen größer als dieser Grenzwert ist, werden die Aktualisierungen mit der jüngsten Endzeit (oder Aktualisierungen, die noch ausgeführt werden) zurückgegeben – bis zum angegebenen Grenzwert.
Bereich:
1
bis10000
Standard:
100
.NAME => string
Der Name einer dynamischen Tabelle.
Die Namen müssen in einfachen Anführungszeichen stehen, wobei Groß-/Kleinschreibung nicht berücksichtigt wird.
Sie können den nicht qualifizierten Namen (
dynamic_table_name
), den teilweise qualifizierten Namen (schema_name.dynamic_table_name
) oder den vollqualifizierten Namen (database_name.schema_name.dynamic_table_name
) angeben.Weitere Informationen zur Auflösung von Objektnamen finden Sie unter Auflösung des Objektnamens.
Die Funktion gibt die Aktualisierungen für diese Tabelle zurück.
NAME_PREFIX => string
Ein Präfix für dynamische Tabellen.
Namenspräfixe müssen in einfachen Anführungszeichen stehen, wobei Groß-/Kleinschreibung nicht berücksichtigt wird.
Die Funktion liefert Aktualisierungen für Tabellen, deren Namen mit diesem Präfix beginnen.
Sie können dieses Argument verwenden, um die Aktualisierungen für dynamische Tabellen in einer bestimmten Datenbank oder einem bestimmten Schema zurückzugeben.
ERROR_ONLY => TRUE | FALSE
Wenn diese Funktion auf TRUE gesetzt ist, werden nur Aktualisierungen zurückgegeben, die fehlgeschlagen sind oder abgebrochen wurden.
Ausgabe¶
Die Funktion gibt die folgenden Spalten zurück:
Spaltenname |
Datentyp |
Beschreibung |
---|---|---|
NAME |
TEXT |
Name der dynamischen Tabelle. |
SCHEMA_NAME |
TEXT |
Name des Schemas, das die dynamische Tabelle enthält. |
DATABASE_NAME |
TEXT |
Name der Datenbank, die die dynamische Tabelle enthält. |
STATE |
TEXT |
Status der Aktualisierung der dynamischen Tabelle. Folgende Status sind verfügbar:
|
STATE_CODE |
TEXT |
Code, der den aktuellen Status der Aktualisierung angibt. |
STATE_MESSAGE |
TEXT |
Beschreibung des aktuellen Status der Aktualisierung. |
QUERY_ID |
TEXT |
ID der SQL-Anweisung, die die Ergebnisse für die dynamische Tabelle erzeugt hat. |
DATA_TIMESTAMP |
TIMESTAMP_LTZ |
Zeitstempel der Transaktion zum Zeitpunkt, als die Aktualisierung ausgewertet wurde. (Dies kann einen Moment vor dem tatsächlichen Zeitpunkt der Aktualisierung liegen.) Alle Daten in Basisobjekten, die vor diesem Zeitstempel eingegangen sind, sind derzeit in der dynamischen Tabelle enthalten. |
REFRESH_START_TIME |
TIMESTAMP_LTZ |
Zeitpunkt, zu dem der Aktualisierungsjob gestartet wurde. |
REFRESH_END_TIME |
TIMESTAMP_LTZ |
Zeitpunkt, zu dem die Aktualisierung abgeschlossen wurde. |
COMPLETION_TARGET |
TIMESTAMP_LTZ |
Zeit, bis zu der diese Aktualisierung abgeschlossen sein muss, um die Verzögerung unter dem Parameter TARGET_LAG für die dynamische Tabelle zu halten. Entspricht der vorherigen Version REFRESH_VERSION + Verzögerung TARGET_LAG. |
QUALIFIED_NAME |
TEXT |
Vollqualifizierter Name der dynamischen Tabelle, wie er im Task-Graph der dynamischen Tabellen angezeigt wird. Sie können dies verwenden, um die Ausgabe mit der Ausgabe der Funktion DYNAMIC_TABLE_GRAPH_HISTORY zu verknüpfen. |
LAST_COMPLETED_DEPENDENCY |
OBJECT |
Enthält die folgenden Eigenschaften:
|
STATISTICS |
OBJECT |
Enthält die folgenden Eigenschaften:
|
REFRESH_ACTION |
TEXT |
Eine der folgenden Optionen:
|
REFRESH_TRIGGER |
TEXT |
Eine der folgenden Optionen:
|
Nutzungshinweise¶
Beim Aufrufen einer Tabellenfunktion des Information Schema muss die Sitzung über ein aktives INFORMATION_SCHEMA-Schema verfügen oder der Funktionsname muss vollqualifiziert sein. Weitere Details dazu finden Sie unter Snowflake Information Schema.
Beispiele¶
Abrufen der Aktualisierungen, die fehlgeschlagen sind oder abgebrochen wurden:
SELECT name, state, state_code, state_message, query_id, data_timestamp, refresh_start_time, refresh_end_time FROM TABLE ( INFORMATION_SCHEMA.DYNAMIC_TABLE_REFRESH_HISTORY ( NAME_PREFIX => 'MYDB.MYSCHEMA.', ERROR_ONLY => TRUE ) ) ORDER BY name, data_timestamp;