DESCRIBE TABLE

테이블의 열이나 테이블의 스테이지 속성 세트(현재 값과 기본값)를 설명합니다.

DESCRIBE는 DESC로 축약할 수 있습니다.

참고 항목:

DROP TABLE , ALTER TABLE , CREATE TABLE , SHOW TABLES

DESCRIBE VIEW

구문

{ DESCRIBE | DESC } TABLE <name> [ TYPE =  { COLUMNS | STAGE } ]
Copy

매개 변수

name

설명할 테이블의 식별자를 지정합니다. 식별자에 공백이나 특수 문자가 포함된 경우 전체 문자열을 큰따옴표로 묶어야 합니다. 큰따옴표로 묶인 식별자도 대/소문자를 구분합니다.

TYPE = COLUMNS | STAGE

테이블의 열이나 테이블의 스테이지 속성 세트(현재 값과 기본값)를 표시할지 여부를 지정합니다.

기본값: TYPE = COLUMNS

사용법 노트

  • 이 명령은 테이블의 오브젝트 매개 변수를 표시하지 않습니다. SHOW PARAMETERS IN TABLE 를 대신 사용하십시오.

  • DESCRIBE TABLE과 DESCRIBE VIEW 는 서로 교환할 수 있습니다. 두 명령 모두 지정된 테이블이나 뷰에 대한 세부 정보를 반환하지만, 뷰에는 스테이지 속성이 없으므로 TYPE = STAGE 는 뷰에 적용되지 않습니다.

  • 테이블에서 스키마 진화가 활성화된 경우 출력에 SchemaEvolutionRecord 열이 포함됩니다. 이 열은 2023_08 번들(일반적으로 활성화됨) 과 함께 도입되었습니다. 자세한 내용은 테이블 스키마 진화 섹션을 참조하십시오.

  • 출력에는 열에 설정된 마스킹 정책 을 나타내는 policy name 열이 포함됩니다.

    열에 마스킹 정책이 설정되어 있지 않거나 Snowflake 계정이 Enterprise Edition 이상이 아닌 경우 Snowflake는 NULL 을 반환합니다.

  • 출력에는 열에 설정된 개인정보 보호 도메인 을 나타내는 privacy domain 열이 포함됩니다.

    열에 개인정보 보호 도메인이 설정되어 있지 않거나 Snowflake 계정이 Enterprise Edition 이상이 아닌 경우 Snowflake는 NULL 을 반환합니다.

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

출력

TYPE = COLUMNS 인 경우 명령 출력은 다음과 같은 속성과 메타데이터를 제공합니다.

설명

name

테이블의 열 이름입니다.

type

테이블의 열 데이터 타입입니다.

kind

Snowflake 테이블의 경우 이 값은 항상 COLUMN 입니다.

null?

열이 NULL 값(Y 또는 N)을 허용하는지 여부입니다.

default

열의 기본값(있는 경우)이며, 그렇지 않은 경우 NULL 입니다.

primary key

열이 기본 키(또는 다중 열 기본 키의 일부로, Y 또는 N 임)인지 여부입니다.

unique key

열에 UNIQUE 제약 조건(Y 또는 N)이 있는지 여부입니다.

check

향후 사용을 위해 예약되어 있습니다.

expression

향후 사용을 위해 예약되어 있습니다.

comment

열에 대해 설정된 설명(있는 경우)이며, 그렇지 않은 경우 NULL 입니다.

policy name

열에 대해 설정된 마스킹 정책 (있는 경우)이며, 그렇지 않은 경우 NULL 입니다.

privacy domain

열에 대해 설정된 개인정보 보호 도메인 (있는 경우)이며, 그렇지 않은 경우 NULL 입니다.

schema evolution record

주어진 테이블 열에 대해 최근에 트리거된 Schema Evolution에 대한 정보를 기록합니다. 이 열에는 다음 하위 필드가 포함됩니다.

  • EvolutionType: 트리거된 스키마 진화의 유형(ADD_COLUMN 또는 DROP_NOT_NULL)입니다.

  • EvolutionMode: 트리거링 수집 메커니즘(COPY 또는 SNOWPIPE)입니다.

  • FileName: 진화를 트리거한 파일 이름입니다.

  • TriggeringTime: 열이 진화한 대략적인 시간입니다.

  • QueryId 또는 PipeID: 트리거링 쿼리 또는 파이프의 고유 식별자입니다(COPY의 경우 QUERY ID, 또는 SNOWPIPE의 경우 PIPE ID).

TYPE = STAGE 인 경우 명령 출력은 테이블의 스테이지 속성에 대한 현재 값과 기본값을 제공합니다. 예: 스테이지 속성 설명하기 섹션을 참조하십시오.

다음 예에서는 테이블을 설명하는 방법을 보여줍니다.

예: 제약 조건과 기타 열 특성이 있는 테이블 설명하기

제약 조건이 있는 2개의 열을 포함하여 5개의 열이 있는 테이블을 만듭니다. 한 열에 DEFAULT 값과 설명을 지정합니다.

CREATE OR REPLACE TABLE desc_example(
  c1 INT PRIMARY KEY,
  c2 INT,
  c3 INT UNIQUE,
  c4 VARCHAR(30) DEFAULT 'Not applicable' COMMENT 'This column is rarely populated',
  c5 VARCHAR(100));
Copy

테이블의 열 설명하기:

DESCRIBE TABLE desc_example;
Copy
+------+--------------+--------+-------+------------------+-------------+------------+-------+------------+---------------------------------+-------------+----------------+-------------------------+
| name | type         | kind   | null? | default          | primary key | unique key | check | expression | comment                         | policy name | privacy domain | schema evolution record |
|------+--------------+--------+-------+------------------+-------------+------------+-------+------------+---------------------------------+-------------+----------------+-------------------------|
| C1   | NUMBER(38,0) | COLUMN | N     | NULL             | Y           | N          | NULL  | NULL       | NULL                            | NULL        | NULL           | NULL                    |
| C2   | NUMBER(38,0) | COLUMN | Y     | NULL             | N           | N          | NULL  | NULL       | NULL                            | NULL        | NULL           | NULL                    |
| C3   | NUMBER(38,0) | COLUMN | Y     | NULL             | N           | Y          | NULL  | NULL       | NULL                            | NULL        | NULL           | NULL                    |
| C4   | VARCHAR(30)  | COLUMN | Y     | 'Not applicable' | N           | N          | NULL  | NULL       | This column is rarely populated | NULL        | NULL           | NULL                    |
| C5   | VARCHAR(100) | COLUMN | Y     | NULL             | N           | N          | NULL  | NULL       | NULL                            | NULL        | NULL           | NULL                    |
+------+--------------+--------+-------+------------------+-------------+------------+-------+------------+---------------------------------+-------------+----------------+-------------------------+

예: 열에 마스킹 정책이 있는 테이블 설명하기

일반 마스킹 정책 을 만든 다음, 한 열에 마스킹 정책이 설정된 desc_example 테이블을 다시 만듭니다. (이 예제를 실행하려면 먼저 email_mask 마스킹 정책을 만듭니다.)

CREATE OR REPLACE TABLE desc_example(
  c1 INT PRIMARY KEY,
  c2 INT,
  c3 INT UNIQUE,
  c4 VARCHAR(30) DEFAULT 'Not applicable' COMMENT 'This column is rarely populated',
  c5 VARCHAR(100) WITH MASKING POLICY email_mask);
Copy
+------+--------------+--------+-------+------------------+-------------+------------+-------+------------+---------------------------------+---------------------------------+----------------+-------------------------+
| name | type         | kind   | null? | default          | primary key | unique key | check | expression | comment                         | policy name                     | privacy domain | schema evolution record |
|------+--------------+--------+-------+------------------+-------------+------------+-------+------------+---------------------------------+---------------------------------+----------------|-------------------------|
| C1   | NUMBER(38,0) | COLUMN | N     | NULL             | Y           | N          | NULL  | NULL       | NULL                            | NULL                            | NULL           | NULL                    |
| C2   | NUMBER(38,0) | COLUMN | Y     | NULL             | N           | N          | NULL  | NULL       | NULL                            | NULL                            | NULL           | NULL                    |
| C3   | NUMBER(38,0) | COLUMN | Y     | NULL             | N           | Y          | NULL  | NULL       | NULL                            | NULL                            | NULL           | NULL                    |
| C4   | VARCHAR(30)  | COLUMN | Y     | 'Not applicable' | N           | N          | NULL  | NULL       | This column is rarely populated | NULL                            | NULL           | NULL                    |
| C5   | VARCHAR(100) | COLUMN | Y     | NULL             | N           | N          | NULL  | NULL       | NULL                            | HT_SENSORS.HT_SCHEMA.EMAIL_MASK | NULL           | NULL                    |
+------+--------------+--------+-------+------------------+-------------+------------+-------+------------+---------------------------------+---------------------------------+----------------+-------------------------+

예: 스테이지 속성 설명하기

같은 테이블에 대한 현재 스테이지 속성을 설명합니다(여기서는 처음 5개 행만 표시됨).

DESCRIBE TABLE desc_example TYPE = STAGE;
Copy
+--------------------+--------------------------------+---------------+-----------------+------------------+
| parent_property    | property                       | property_type | property_value  | property_default |
|--------------------+--------------------------------+---------------+-----------------+------------------|
| STAGE_FILE_FORMAT  | TYPE                           | String        | CSV             | CSV              |
| STAGE_FILE_FORMAT  | RECORD_DELIMITER               | String        | \n              | \n               |
| STAGE_FILE_FORMAT  | FIELD_DELIMITER                | String        | ,               | ,                |
| STAGE_FILE_FORMAT  | FILE_EXTENSION                 | String        |                 |                  |
| STAGE_FILE_FORMAT  | SKIP_HEADER                    | Integer       | 0               | 0                |
...