バインド変数: 一部の組み込みテーブル関数ではパラメーターとして無視されない

注意

この動作変更は2023_08バンドルにあります。

バンドルの現在のステータスについては、 バンドル履歴 をご参照ください。

Snowflake スクリプトドライバー 、または SQL REST API では、 SQL ステートメントでバインド変数を使用できます。(バインド変数の使用例については、 SQL ステートメントでの変数の使用(バインド)データのバインド 、および ステートメントでのバインド変数の使用 を参照してください。

この動作変更は、 未満の組み込みテーブル関数の引数 の1つとしてバインド変数を直接渡す場合に影響します。動作は次のように変化します。

変更前:

バインド変数は無視され、引数はテーブル関数に渡されません。

AFter 変更:

バインド変数はテーブル関数の引数として渡されます。

テーブル関数の引数に結果を渡す前に、バインド変数を別の関数に渡すようなケースには影響しないことに注意してください。例えば、 COPY_HISTORY 関数を呼び出す場合、この変更は START_TIME 引数としてバインド変数を直接渡す場合に影響します。

COPY_HISTORY( START_TIME=> ?, ...
Copy

これは、バインド変数を先に別の組み込み関数に渡す場合には影響しません。

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

変更前の動作を維持したい場合は、バインド変数を使う引数を渡さないようにコードを書き直します。例えば、 TASK_HISTORY 関数を呼び出していて、結果を特定のタスクでフィルタリングしたくない場合は、呼び出しから TASK_NAME 引数を省略します。

以下の表関数引数は、この変更の影響を受けます。

テーブル関数

影響を受けた引数

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 (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

参照: 1410