DESCRIBE TABLE¶
테이블의 열이나 테이블의 스테이지 속성 세트(현재 값과 기본값)를 설명합니다.
DESCRIBE는 DESC로 축약할 수 있습니다.
- 참고 항목:
구문¶
{ DESCRIBE | DESC } TABLE <name> [ TYPE = { COLUMNS | STAGE } ]
매개 변수¶
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
인 경우 명령 출력은 다음과 같은 속성과 메타데이터를 제공합니다.
열 |
설명 |
---|---|
|
테이블의 열 이름입니다. |
|
테이블의 열 데이터 타입입니다. |
|
Snowflake 테이블의 경우 이 값은 항상 |
|
열이 NULL 값( |
|
열의 기본값(있는 경우)이며, 그렇지 않은 경우 |
|
열이 기본 키(또는 다중 열 기본 키의 일부로, |
|
열에 UNIQUE 제약 조건( |
|
향후 사용을 위해 예약되어 있습니다. |
|
향후 사용을 위해 예약되어 있습니다. |
|
열에 대해 설정된 설명(있는 경우)이며, 그렇지 않은 경우 |
|
열에 대해 설정된 마스킹 정책 (있는 경우)이며, 그렇지 않은 경우 |
|
열에 대해 설정된 개인정보 보호 도메인 (있는 경우)이며, 그렇지 않은 경우 |
|
주어진 테이블 열에 대해 최근에 트리거된 Schema Evolution에 대한 정보를 기록합니다. 이 열에는 다음 하위 필드가 포함됩니다.
|
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));
테이블의 열 설명하기:
DESCRIBE TABLE desc_example;
+------+--------------+--------+-------+------------------+-------------+------------+-------+------------+---------------------------------+-------------+----------------+-------------------------+
| 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);
+------+--------------+--------+-------+------------------+-------------+------------+-------+------------+---------------------------------+---------------------------------+----------------+-------------------------+
| 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;
+--------------------+--------------------------------+---------------+-----------------+------------------+
| 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 |
...