Kategorien:

Tabellenfunktionen

VALIDATE

Validiert die Dateien, die bei einer früheren Ausführung des Befehls COPY INTO <Tabelle> geladen wurden, und gibt nicht nur den ersten Fehler, sondern alle Fehler zurück, die beim Laden aufgetreten sind.

Syntax

VALIDATE( [<namespace>.]<table_name> , JOB_ID => { '<query_id>' | '_last' } )
Copy

Argumente

[namespace.]table_name

Gibt den vollständig qualifizierten Namen der Tabelle an, die das Ladeziel war.

Namespace ist die Datenbank und/oder das Schema, in dem sich die Tabelle befindet, in Form von database_name.schema_name oder schema_name. Die Angabe ist optional, wenn in der Benutzersitzung aktuell eine Datenbank und ein Schema verwendet werden, andernfalls ist die Angabe obligatorisch.

JOB_ID => query_id | _last

Die ID für den zu validierenden Befehl COPY INTO <Tabelle>:

  • Die ID kann der Query ID-Spalte auf der Seite History History tab der klassischen Weboberfläche entnommen werden. Die angegebene Abfrage-ID muss für die angegebene Zieltabelle bestimmt gewesen sein.

  • Wenn _last anstelle von query_id angegeben wird, überprüft die Funktion den letzten Ladevorgang, der während der aktuellen Sitzung ausgeführt wurde, unabhängig von der angegebenen Zieltabelle.

Nutzungshinweise

  • Die Validierung gibt keine Ergebnisse für COPY-Anweisungen zurück, in denen ON_ERROR = ABORT_STATEMENT (Standardwert) angegeben ist.

  • Die Validierung schlägt in folgenden Fällen fehl:

    • SELECT-Anweisungen werden verwendet, um Daten während einer COPY INTO <Tabelle>-Operation zu transformieren.

    • Der aktuelle Benutzer hat keinen Zugriff auf table_name.

    • Der aktuelle Benutzer ist nicht der Benutzer, der query_id ausgeführt hat, und verfügt nicht über Zugriffssteuerungsrechte für diesen Benutzer.

    • Die Metadaten des Kopierverlaufs sind abgelaufen. Weitere Informationen dazu finden Sie unter Metadaten laden.

  • Wenn seit der Ausführung des Ladevorgangs dem von query_id verwendeten Stagingbereich neue Dateien hinzugefügt wurden, werden die hinzugefügten Dateien während der Validierung ignoriert.

  • Wenn seit dem Ausführen des Ladevorgangs Dateien aus dem von query_id verwendeten Stagingbereich entfernt wurden, werden die entfernten Dateien als fehlend gemeldet.

Beispiele

Geben Sie Fehler für den zuletzt ausgeführten COPY-Befehl zurück:

SELECT * FROM TABLE(VALIDATE(t1, JOB_ID => '_last'));
Copy

Geben Sie Fehler zurück, indem Sie eine Abfrage-ID angeben, die von der Query History-Seite in Snowsight oder von der Seite History History tab der klassischen Weboberfläche abgerufen wird:

SELECT * FROM TABLE(VALIDATE(t1, JOB_ID=>'5415fa1e-59c9-4dda-b652-533de02fdcf1'));
Copy

Gleiche Abfrage wie oben, aber speichern Sie die Ergebnisse in einer Tabelle zur späteren Verwendung:

CREATE OR REPLACE TABLE save_copy_errors AS SELECT * FROM TABLE(VALIDATE(t1, JOB_ID=>'5415fa1e-59c9-4dda-b652-533de02fdcf1'));
Copy