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:
Account Usage-Ansichten:
Information Schema-Tabellenfunktionen:
Die Ausgabe dieser Ansichten und Funktionen enthält die folgenden neuen Spalten:
Spaltenname |
Datentyp |
Beschreibung |
---|---|---|
|
TEXT |
Hash-Wert, der auf der Grundlage des kanonisierten Textes der SQL-Anweisung berechnet wird. |
|
NUMBER |
Version des Hashes aus der Spalte |
|
TEXT |
Hash-Wert des Abfragetextes nach der Parametrisierung der Literale |
|
NUMBER |
Version des Hashes aus der Spalte |
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;
- 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;
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