카테고리:

테이블 함수

VALIDATE

COPY INTO <테이블> 명령의 과거 실행에서 로딩된 파일의 유효성을 검사하고, 첫 번째 오류뿐만 아니라 로딩 중에 발생한 모든 오류를 반환합니다.

구문

VALIDATE( [<namespace>.]<table_name> , JOB_ID => { '<query_id>' | '_last' } )

인자

[namespace.]table_name

로딩의 대상이었던 테이블의 정규화된 이름을 지정합니다.

네임스페이스는 테이블이 상주하는 데이터베이스 및/또는 스키마로, database_name.schema_name 또는 schema_name 형식입니다. 데이터베이스와 스키마가 현재 사용자 세션 내에서 사용 중인 경우 이는 선택 사항 입니다. 사용 중이지 않으면 필수 사항입니다.

JOB_ID => query_id | _last

유효성을 검사할 COPY INTO <테이블> 명령의 ID:

  • ID는 classic web interface 의 History History tab 페이지에 있는 Query ID 열에서 얻을 수 있습니다. 지정된 쿼리 ID는 지정된 대상 테이블에 대한 것이어야 합니다.

  • query_id 대신 _last 가 지정된 경우, 지정된 대상 테이블과 관계없이 함수는 현재 세션 동안 실행된 마지막 로딩의 유효성을 검사합니다.

사용법 노트

  • 이 함수는 로딩 중에 데이터를 변환하는 COPY INTO <테이블> 문에서 SELECT 목록을 무시합니다. 이 함수는 문에서 참조된 파일을 구문 분석하고 구문 분석 오류를 반환합니다. 함수가 COPY INTO <테이블> 식의 컨텍스트에서 파일을 평가할 것으로 예상했다면 이런 동작이 놀라울 수 있습니다.

  • 유효성 검사는 ON_ERROR = ABORT_STATEMENT (기본값)를 지정하는 COPY 문에 대해 결과를 반환하지 않습니다.

  • 다음과 같은 경우 유효성 검사가 실패합니다.

    • 현재 사용자에게 table_name 에 대한 액세스 권한이 없습니다.

    • 현재 사용자는 query_id 를 실행한 사용자가 아니며, 이 사용자에 대한 액세스 제어 권한이 없습니다.

  • 로딩이 실행된 이후에 query_id 가 사용하는 스테이지에 새 파일이 추가된 경우, 유효성 검사 중에 추가된 새 파일은 무시됩니다.

  • 로딩이 실행된 이후에 query_id 가 사용하는 스테이지에서 파일이 제거된 경우, 제거된 파일은 누락된 것으로 보고됩니다.

마지막으로 실행된 COPY 명령에 대한 오류를 반환합니다.

SELECT * FROM TABLE(VALIDATE(t1, JOB_ID => '_last'));

Snowsight의 Query History 페이지 또는 클래식 웹 인터페이스의 History History tab 페이지에서 얻은 쿼리 ID를 지정하여 오류를 반환합니다.

SELECT * FROM TABLE(VALIDATE(t1, JOB_ID=>'5415fa1e-59c9-4dda-b652-533de02fdcf1'));

위와 동일한 쿼리이지만, 나중에 참조할 수 있도록 결과를 테이블에 저장합니다.

CREATE OR REPLACE TABLE save_copy_errors AS SELECT * FROM TABLE(VALIDATE(t1, JOB_ID=>'5415fa1e-59c9-4dda-b652-533de02fdcf1'));
맨 위로 이동