쿼리 및 작업 기록 뷰 및 함수: 새 열

주의

이 동작 변경 사항은 2023_06 번들에 있습니다.

번들의 현재 상태는 번들 기록 섹션을 참조하십시오.

현재 Snowflake 릴리스에서는 쿼리 및 작업 기록 뷰와 함수의 출력에 새 열이 포함됩니다. 영향을 받는 뷰와 함수에는 다음이 포함됩니다.

이러한 뷰와 함수의 출력에는 다음과 같은 새 열이 포함됩니다.

열 이름

데이터 타입

설명

query_hash

TEXT

SQL 문의 표준화된 텍스트를 기반으로 계산된 해시 값입니다.

query_hash_version

NUMBER

query_hash 열의 해시 버전입니다.

query_parameterized_hash

TEXT

리터럴이 매개 변수화된 후 쿼리 텍스트의 해시 값입니다.

query_parameterized_hash_version

NUMBER

query_parameterized_hash 열의 해시 버전입니다.

이러한 뷰 중에서 모든 열(SELECT *)을 선택하는 뷰를 이전에 정의한 경우 뷰를 쿼리하면 오류가 반환됩니다. CREATE OR REPLACE VIEW 명령을 사용하여 뷰를 다시 만들어야 합니다.

예를 들어, TASK_HISTORY 뷰에서 모든 열을 선택한 뷰를 정의했다고 가정해 보겠습니다.

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

뷰(이 예에서는 my_task_history)를 쿼리하면 뷰에서 결과가 반환됩니다.

현재

뷰(이 예에서는 my_task_history)를 쿼리하면 뷰의 열 수에 대한 오류가 반환됩니다.

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

CREATE VIEW 사용법 노트 에 설명한 대로, 뷰가 기본 테이블이나 뷰에서 모든 열을 선택하는 경우 새 열이 기본 테이블이나 뷰에 추가될 때 뷰는 자동으로 업데이트되지 않습니다. 뷰를 쿼리하면 열 관련 오류가 반환됩니다.

이 오류를 방지하려면 뷰를 다시 만들어야 합니다. 예를 들어, (향후 추가되는 열로 인한 문제를 방지하기 위해) 특정 열을 선택한 상태에서 위 예의 뷰를 다시 만들려면 다음을 수행하십시오.

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

또한 (예컨대 CREATE TABLE … LIKE SNOWFLAKE.ACCOUNT_USAGE.TASK_HISTORY를 사용하여) 이러한 뷰 중 하나와 동일한 열이 있는 테이블을 생성하고 해당 뷰에서 테이블로 행을 복사하는 경우 테이블에 새 열을 추가해야 합니다. 뷰에 추가된 것과 동일한 열을 테이블에 추가하려면 ALTER TABLE … ADD COLUMN 명령을 사용하십시오.

참조: 1147