바인드 변수: 더 이상 일부 기본 제공 테이블 함수에 대한 매개 변수로 무시되지 않음¶
Snowflake Scripting, 드라이버 또는 SQL REST API 에서는 SQL 문에 바인드 변수를 사용할 수 있습니다. (바인드 변수 사용의 예는 SQL 문에서 변수 사용하기(바인딩), 데이터 바인딩하기, 문에서 바인드 변수 사용하기 섹션을 참조하십시오.
이 동작 변경은 바인드 변수를 아래에 나열된 기본 제공 테이블 함수 인자 중 하나로 직접 전달하는 경우에 영향을 미칩니다. 동작은 다음과 같이 변경됩니다.
- 변경 전:
바인드 변수가 무시되고 인자가 테이블 함수에 전달되지 않습니다.
- 변경 후:
바인드 변수가 테이블 함수에 인자로 전달됩니다.
이는 결과를 테이블 함수 인자에 전달하기 전에 바인드 변수를 다른 함수에 전달하는 경우에는 영향을 미치지 않습니다. 예를 들어 COPY_HISTORY 함수를 호출하는 경우 이 변경 사항이 바인드 변수를 START_TIME 인자로 직접 전달하는 경우에 영향을 미칩니다.
COPY_HISTORY( START_TIME=> ?, ...
바인드 변수를 다른 기본 제공 함수에 먼저 전달하는 경우에는 이 변경 사항이 영향을 미치지 않습니다.
COPY_HISTORY( START_TIME=> DATEADD('days', ?, ...
변경 전 동작을 유지하려면 바인드 변수를 사용하는 인자를 전달하지 않도록 코드를 다시 작성할 수 있습니다. 예를 들어, TASK_HISTORY 함수를 호출하고 특정 작업으로 결과를 필터링하지 않으려면 호출에서 TASK_NAME 인자를 생략하십시오.
다음 테이블 함수 인자가 이 변경으로 영향을 받습니다.
테이블 함수 |
영향을 받는 인자 |
---|---|
OBJECT_TYPE |
|
OBJECT_NAME |
|
TABLE_NAME |
|
START_TIME |
|
ROOT_TASK_NAME |
|
RESULT_LIMIT |
|
TABLE_NAME |
|
LOCATION |
|
FILE_FORMAT |
|
FILES |
|
POLICY_NAME |
|
REF_ENTITY_NAME |
|
REF_ENTITY_DOMAIN |
|
END_TIME_RANGE_START |
|
END_TIME_RANGE_END |
|
RESULT_LIMIT |
|
SESSION_ID |
|
RESULT_LIMIT |
|
USER_NAME |
|
WAREHOUSE_NAME |
|
END_TIME_RANGE_START |
|
END_TIME_RANGE_END |
|
RESULT_LIMIT |
|
OBJECT_NAME( |
|
TASK_NAME |
|
RESULT_LIMIT |
|
TASK_NAME |
|
DATE_RANGE_START |
|
DATE_RANGE_END |
|
WAREHOUSE_NAME |
|
DATE_RANGE_START |
|
DATE_RANGE_END |
참조: 1410