카테고리:

테이블 함수

VALIDATE

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

구문

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

인자

[namespace.]table_name

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

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

JOB_ID => query_id | _last

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

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

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

사용법 노트

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

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

    • SELECT 문은 COPY INTO <테이블> 작업 중에 데이터를 변환하는 데 사용됩니다.

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

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

    • 복사 기록 메타데이터가 만료되었습니다. 자세한 내용은 메타데이터 로드 섹션을 참조하십시오.

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

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

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

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

Snowsight 의 Query History 페이지 또는 Classic Console 의 History History tab 페이지에서 얻은 쿼리 ID를 지정하여 오류를 반환합니다.

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

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

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