Ansichten und Funktionen für Abfrage- und Aufgabenverlauf: Neue Spalten

Achtung

Diese Verhaltensänderung ist in Bundle 2023_06 enthalten.

Den aktuellen Status des Bundles finden Sie unter Bundle-Verlauf.

Mit dem aktuellen Snowflake-Release sind in der Ausgabe von Ansichten und Funktionen zum Abfrage- und Aufgabenverlauf neue Spalten enthalten. Folgende Ansichten und Funktionen sind betroffen:

Die Ausgabe dieser Ansichten und Funktionen enthält die folgenden neuen Spalten:

Spaltenname

Datentyp

Beschreibung

query_hash

TEXT

Hash-Wert, der auf der Grundlage des kanonisierten Textes der SQL-Anweisung berechnet wird.

query_hash_version

NUMBER

Version des Hashes aus der Spalte query_hash.

query_parameterized_hash

TEXT

Hash-Wert des Abfragetextes nach der Parametrisierung der Literale

query_parameterized_hash_version

NUMBER

Version des Hashes aus der Spalte query_parameterized_hash.

Wenn Sie bisher eine Ansicht definiert haben, die alle Spalten (SELECT *) aus einer dieser Ansichten auswählt, wird beim Abfragen der Ansicht ein Fehler zurückgegeben. Sie müssen Ihre Ansicht neu erstellen, indem Sie den Befehl CREATE OR REPLACE VIEW verwenden.

Angenommen, Sie haben eine Ansicht definiert, die alle Spalten der Ansicht TASK_HISTORY auswählt:

CREATE OR REPLACE VIEW my_task_history
  AS SELECT * FROM SNOWFLAKE.ACCOUNT_USAGE.TASK_HISTORY;
Copy
Bisher

Das Abfragen der Ansicht (in diesem Beispiel my_task_history) gibt die Ergebnisse der Ansicht zurück.

Jetzt

Das Abfragen der Ansicht (in diesem Beispiel my_task_history) gibt einen Fehler bezüglich der Anzahl der Spalten in der Ansicht zurück:

View definition for MY_DB.MY_SCHEMA.MY_TASK_HISTORY' declared 22 column(s),
but view query produces 27 column(s).

Wie in den Nutzungshinweisen für CREATE VIEW beschrieben, wird eine Ansicht, die alle Spalten einer zugrunde liegenden Tabelle oder Ansicht auswählt, nicht automatisch aktualisiert, wenn der zugrunde liegenden Tabelle oder Ansicht eine neue Spalte hinzugefügt wird. Das Abfragen der Ansicht gibt einen spaltenbezogenen Fehler zurück.

Um diesen Fehler zu vermeiden, müssen Sie die Ansicht neu erstellen. Beispielsweise müssen Sie die Ansicht aus dem obigen Beispiel mit bestimmten ausgewählten Spalten wie folgt neu erstellen (um in Zukunft Probleme zu vermeiden, wenn Spalten hinzugefügt werden):

CREATE OR REPLACE VIEW my_task_history
  AS SELECT query_text, completed_time FROM SNOWFLAKE.ACCOUNT_USAGE.TASK_HISTORY;
Copy

Wenn Sie außerdem eine Tabelle erstellt haben, die dieselben Spalten wie eine dieser Ansichten enthält (z. B. mit CREATE TABLE … LIKE SNOWFLAKE.ACCOUNT_USAGE.TASK_HISTORY), und Sie Zeilen aus dieser Ansicht in die Tabelle kopieren, müssen Sie die neuen Spalten zu Ihrer Tabelle hinzufügen. Verwenden Sie den Befehl ALTER TABLE … ADD COLUMN, um die gleichen Spalten zu Ihrer Tabelle hinzuzufügen, die auch der Ansicht hinzugefügt wurden.

Ref.: 1147