Bindungsvariablen: Werden bei einigen integrierten Tabellenfunktionen nicht mehr als Parameter ignoriert

Achtung

Diese Verhaltensänderung ist in Bundle 2023_08 enthalten.

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

In Snowflake Scripting, in Treibern oder bei der SQL-REST-API können Sie Bindungsvariablen in SQL-Anweisungen verwenden. Beispiele für die Verwendung von Bindungsvariablen finden Sie unter Verwenden einer Variablen in einer SQL-Anweisung (Bindung), Binden von Daten und Verwenden von Bindungsvariablen in einer Anweisung.

Diese Verhaltensänderung betrifft Fälle, in denen Sie eine Bindungsvariable direkt als eines der unten aufgeführten Argumente integrierter Tabellenfunktionen übergeben. Das Verhalten ändert sich wie folgt:

Vor der Änderung

Die Bindungsvariable wird ignoriert, und das Argument wird nicht an die Tabellenfunktion übergeben.

Nach der Änderung

Die Bindungsvariable wird als Argument an die Tabellenfunktion übergeben.

Beachten Sie, dass dies nicht die Fälle betrifft, in denen Sie eine Bindungsvariable an eine andere Funktion übergeben, bevor Sie das Ergebnis an ein Argument einer Tabellenfunktion übergeben. Wenn Sie z. B. die Funktion COPY_HISTORY aufrufen, betrifft diese Änderung die Fälle, in denen Sie eine Bindungsvariable direkt als START_TIME-Argument übergeben:

COPY_HISTORY( START_TIME=> ?, ...
Copy

Die Änderung gilt nicht für Fälle, in denen Sie die Bindungsvariable zuerst an eine andere integrierte Funktion übergeben:

COPY_HISTORY( START_TIME=> DATEADD('days', ?, ...
Copy

Wenn Sie das Verhalten vor der Änderung beibehalten möchten, können Sie Ihren Code so umschreiben, dass das Argument, das die Bindungsvariable verwendet, nicht übergeben wird. Wenn Sie z. B. die Funktion TASK_HISTORY aufrufen und die Ergebnisse nicht nach einer bestimmten Aufgabe gefiltert haben möchten, lassen Sie das Argument TASK_NAME beim Aufruf weg.

Die folgenden Argumente der Tabellenfunktionen sind von dieser Änderung betroffen:

Tabellenfunktion

Betroffene Argumente

AUTO_REFRESH_REGISTRATION_HISTORY

OBJECT_TYPE

OBJECT_NAME

COPY_HISTORY

TABLE_NAME

START_TIME

CURRENT_TASK_GRAPHS

ROOT_TASK_NAME

DYNAMIC_TABLE_REFRESH_HISTORY

RESULT_LIMIT

EXTERNAL_TABLE_FILE_REGISTRATION_HISTORY

TABLE_NAME

INFER_SCHEMA

LOCATION

FILE_FORMAT

FILES

POLICY_REFERENCES

POLICY_NAME

REF_ENTITY_NAME

REF_ENTITY_DOMAIN

QUERY_HISTORY

END_TIME_RANGE_START

END_TIME_RANGE_END

RESULT_LIMIT

QUERY_HISTORY_BY_SESSION

SESSION_ID

RESULT_LIMIT

QUERY_HISTORY_BY_USER

USER_NAME

QUERY_HISTORY_BY_WAREHOUSE

WAREHOUSE_NAME

END_TIME_RANGE_START

END_TIME_RANGE_END

RESULT_LIMIT

TAG_REFERENCES

OBJECT_NAME (das Argument object_name)

TASK_DEPENDENTS

TASK_NAME

TASK_HISTORY

RESULT_LIMIT

TASK_NAME

WAREHOUSE_LOAD_HISTORY

DATE_RANGE_START

DATE_RANGE_END

WAREHOUSE_NAME

WAREHOUSE_METERING_HISTORY

DATE_RANGE_START

DATE_RANGE_END

Ref.: 1410