SHOW EXTERNAL TABLES

액세스 권한이 있는 외부 테이블을 나열합니다. 이 명령을 사용해 현재/지정된 데이터베이스 또는 스키마 또는 전체 계정에 대한 외부 테이블을 나열할 수 있습니다.

출력은 데이터베이스, 스키마, 외부 테이블 이름을 기준으로 사전순으로 정렬된 외부 테이블 메타데이터와 속성을 반환합니다(출력 열에 대한 설명은 이 항목의 출력 참조). 제공된 필터를 사용해 결과를 필터링하려는 경우 이 점에 유의해야 합니다.

참고 항목:

CREATE EXTERNAL TABLE , DROP EXTERNAL TABLE , ALTER EXTERNAL TABLE , DESCRIBE EXTERNAL TABLE

구문

SHOW [ TERSE ] EXTERNAL TABLES [ LIKE '<pattern>' ]
                               [ IN { ACCOUNT | DATABASE [ <db_name> ] | [ SCHEMA ] [ <schema_name> ] } ]
                               [ STARTS WITH '<name_string>' ]
                               [ LIMIT <rows> [ FROM '<name_string>' ] ]
Copy

매개 변수

TERSE

출력 열의 서브세트만 반환합니다.

  • created_on

  • name

  • kind

  • database_name

  • schema_name

LIKE 'pattern'

오브젝트 이름으로 명령 출력을 선택적으로 필터링합니다. 이 필터는 SQL 와일드카드 문자(%_) 지원과 함께 대/소문자를 구분하지 않는 패턴 일치를 사용합니다.

예를 들어, 다음 패턴은 같은 결과를 반환합니다.

... LIKE '%testing%' ...
... LIKE '%TESTING%' ...

. 기본값: 값 없음(출력에 필터링이 적용되지 않음).

IN ACCOUNT | [ DATABASE ] db_name | [ SCHEMA ] schema_name

명령의 범위를 지정하여 이 명령이 현재/지정된 데이터베이스 또는 스키마의 레코드만 나열할지, 아니면 전체 계정의 레코드를 나열할지 여부를 결정합니다.

DATABASE 또는 SCHEMA 키워드가 필요하지 않습니다. 데이터베이스 또는 스키마 이름만 지정하여 범위를 설정할 수 있습니다. 마찬가지로, 세션에 현재 사용 중인 데이터베이스가 있는 경우 데이터베이스 또는 스키마 이름이 필요하지 않습니다.

  • DATABASE 또는 SCHEMA 가 이름 없이 지정되고 세션에 현재 사용 중인 데이터베이스가 없는 경우 이 매개 변수는 출력에 아무런 영향도 주지 않습니다.

  • SCHEMA 가 이름과 함께 지정되고 세션에 현재 사용 중인 데이터베이스가 없는 경우 스키마 이름은 데이터베이스 이름으로 정규화되어야 합니다(예: testdb.testschema).

기본값: 세션에 현재 사용 중인 데이터베이스가 있는지 여부에 따라 다릅니다.

  • 데이터베이스: DATABASE 가 기본값입니다(즉, 이 명령은 데이터베이스에서 볼 권한이 있는 오브젝트를 반환함).

  • 데이터베이스 없음: ACCOUNT 가 기본값입니다(즉, 이 명령은 계정에서 볼 권한이 있는 오브젝트를 반환함).

STARTS WITH 'name_string'

오브젝트 이름의 시작 부분에 나타나는 문자를 기반으로 명령 출력을 선택적으로 필터링합니다. 문자열은 작은따옴표로 묶어야 하며 대/소문자를 구분 합니다.

예를 들어, 다음 문자열은 서로 다른 결과를 반환합니다.

... STARTS WITH 'B' ...
... STARTS WITH 'b' ...

. 기본값: 값 없음(출력에 필터링이 적용되지 않음)

LIMIT rows [ FROM 'name_string' ]

반환되는 최대 행 수를 선택적으로 제한하는 동시에, 결과의 《페이지 매김》도 활성화합니다. 반환되는 실제 행 수는 지정된 제한보다 적을 수 있습니다. 예를 들어 기존 오브젝트 수가 지정된 제한보다 적습니다.

선택적 FROM 'name_string' 하위 절은 사실상 결과에 대한 《커서》 역할을 합니다. 그 덕분에 오브젝트 이름이 지정된 문자열과 일치하는 첫 번째 행 다음에 오는 행을 지정된 개수만큼 가져올 수 있습니다.

  • 문자열은 작은따옴표로 묶어야 하며 대/소문자를 구분 합니다.

  • 부분 이름이 지원되므로, 문자열이 전체 오브젝트 이름을 포함할 필요는 없습니다.

기본값: 값 없음(출력에 제한이 적용되지 않음)

참고

FROM 'name_string'STARTS WITH 'name_string' 절을 모두 지원하는 SHOW 명령의 경우 동일한 문에서 이러한 절을 모두 결합할 수 있습니다. 하지만 두 가지 조건이 모두 충족되어야 하며, 그렇지 않으면 서로 상쇄되어 아무런 결과도 반환되지 않습니다.

또한, 오브젝트는 이름을 기준으로 사전순으로 반환되므로, FROM 'name_string'STARTS WITH 'name_string' 에서 반환된 행보다 사전 값이 더 높은 행만 반환합니다.

예:

  • ... STARTS WITH 'A' LIMIT ... FROM 'B' 는 아무런 결과도 반환하지 않습니다.

  • ... STARTS WITH 'B' LIMIT ... FROM 'A' 는 아무런 결과도 반환하지 않습니다.

  • ... STARTS WITH 'A' LIMIT ... FROM 'AB' 는 결과를 반환합니다(입력 문자열과 일치하는 행이 있는 경우).

사용법 노트

  • 이 명령은 삭제된 외부 테이블을 나열하지 않습니다.

  • 이 명령을 실행하기 위해 실행 중인 웨어하우스가 꼭 필요하지는 않습니다.

  • LIMIT rows 의 값은 10000 을 초과할 수 없습니다. LIMIT rows 가 생략된 경우 결과 세트의 행 수가 10,000개를 넘는 경우 이 명령을 실행하면 오류가 발생합니다.

    10,000개 이상의 레코드가 있는 결과를 보려면 LIMIT rows 를 포함하거나 Snowflake Information Schema 에서 해당 뷰를 쿼리하십시오.

  • 이 명령의 출력을 사후 처리하려면 출력을 쿼리할 수 있는 테이블로 처리하는 RESULT_SCAN 함수를 사용하면 됩니다.

출력

명령 출력은 다음 열에 테이블 속성 및 메타데이터를 제공합니다.

설명

created_on

외부 테이블이 만들어진 날짜 및 시간입니다.

이름

외부 테이블의 이름입니다.

데이터베이스_이름

외부 테이블의 스키마에 대한 데이터베이스입니다.

스키마_이름

외부 테이블의 스키마입니다.

invalid

외부 테이블 설명에서 참조하는 스테이지 또는 파일 형식이 삭제된 경우 TRUE입니다.

invalid_reason

INVALID 열에 TRUE 값이 표시될 때 외부 테이블이 유효하지 않은 이유입니다.

owner

외부 테이블을 소유하는 역할입니다.

comment

외부 테이블에 대한 설명입니다.

stage

외부 테이블 정의에서 참조되는 스테이지의 정규화된 이름입니다.

location

외부 테이블 정의의 외부 스테이지 및 폴더 경로입니다. 데이터 컨슈머 계정의 가져온 공유에 있는 외부 테이블의 경우 NULL입니다.

파일_형식_이름

외부 테이블 정의의 명명된 파일 형식입니다. 스테이지 정의에 지정된 파일 형식을 표시하지 않습니다.

file_format_type

외부 테이블 정의에 지정된 파일 형식 유형입니다. 스테이지 정의에 지정된 파일 형식 유형을 표시하지 않습니다.

클라우드

스테이지 상태 데이터 파일이 있는 클라우드입니다.

리전

스테이지 상태 데이터 파일이 있는 리전입니다.

notification_channel

외부 테이블에 대한 Amazon SQS 큐의 Amazon 리소스 이름입니다.

last_refreshed_on

외부 테이블의 메타데이터가 수동 또는 자동으로 외부 스테이지 및 경로에 있는 관련된 최신 파일 세트와 마지막으로 동기화된 시기를 나타내는 타임스탬프입니다.

table_format

외부 테이블에서 참조하는 스테이징된 파일의 테이블 형식입니다. 가능한 값: DELTA, UNSPECIFIED.

last_refresh_details

향후에 나올 기능을 지원하며, 현재는 NULL만 지원합니다.

owner_role_type

오브젝트를 소유하는 역할 유형(ROLE 또는 DATABASE_ROLE)입니다. . Snowflake Native App 이 오브젝트를 소유한 경우 값은 APPLICATION 입니다. . 삭제된 오브젝트에 소유자 역할이 없으므로 오브젝트를 삭제하는 경우 Snowflake는 NULL을 반환합니다.

외부 테이블에 대해 지정할 수 있는 속성에 대한 자세한 내용은 CREATE EXTERNAL TABLE 을 참조하십시오.

tpch.public 스키마에서 볼 권한이 있고 이름이 line 으로 시작하는 모든 외부 테이블을 표시합니다.

SHOW EXTERNAL TABLES LIKE 'line%' IN tpch.public;
Copy