DESCRIBE TABLE

Descreve as colunas em uma tabela ou o conjunto de propriedades de estágio para a tabela (valores atuais e valores padrão).

DESCRIBE pode ser abreviado como DESC.

Consulte também:

DROP TABLE , ALTER TABLE , CREATE TABLE , SHOW TABLES

DESCRIBE VIEW

Sintaxe

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

Parâmetros

name

Especifica o identificador da tabela a ser descrita. Se o identificador contiver espaços ou caracteres especiais, toda a cadeia de caracteres deverá ser delimitada por aspas duplas. Os identificadores delimitados por aspas duplas também diferenciam letras maiúsculas de minúsculas.

TYPE = COLUMNS | STAGE

Especifica se as colunas da tabela devem existir ou se o conjunto de propriedades do estágio para a tabela (valores atuais e valores padrão).

Padrão: TYPE = COLUMNS

Notas de uso

  • Este comando não mostra os parâmetros do objeto para uma tabela. Em vez disso, use SHOW PARAMETERS IN TABLE.

  • DESCRIBE TABLE e DESCRIBE VIEW são intercambiáveis. Ambos os comandos retornam detalhes para a tabela ou exibição especificada; no entanto, TYPE = STAGE não se aplica a exibições porque as exibições não têm propriedades de estágio.

  • Se a evolução do esquema estiver habilitada na tabela, a saída conterá uma coluna SchemaEvolutionRecord. Esta coluna foi introduzida com Pacote 2023_08 (geralmente ativado). Para obter mais informações, consulte Evolução do esquema da tabela.

  • A saída inclui uma coluna policy name para indicar a política de mascaramento definida na coluna.

    Se uma política de mascaramento não for definida na coluna ou se a conta Snowflake não for Enterprise Edition ou superior, o Snowflake retorna NULL.

  • A saída inclui uma coluna privacy domain para indicar o domínio de privacidade definido na coluna.

    Se um domínio de privacidade não estiver definido na coluna ou se a conta Snowflake não for Enterprise Edition ou superior, o Snowflake retornará NULL.

  • Para pós-processar a saída deste comando, você pode usar a função RESULT_SCAN, que trata a saída como uma tabela que pode ser consultada.

Saída

Quando TYPE = COLUMNS, a saída do comando fornece as seguintes propriedades e metadados:

Coluna

Descrição

name

Nome da coluna na tabela.

type

Tipo de dados da coluna na tabela.

kind

Este valor é sempre COLUMN para tabelas Snowflake.

null?

Se a coluna aceita valores NULL (Y ou N).

default

O valor padrão para a coluna, se houver (caso contrário, NULL).

primary key

Se a coluna é a chave primária (ou parte de uma chave primária de várias colunas; Y ou N).

unique key

Se a coluna tem uma restrição UNIQUE (Y ou N).

check

Reservado para uso futuro.

expression

Reservado para uso futuro.

comment

O comentário definido para a coluna, se houver (caso contrário, NULL).

policy name

A política de mascaramento definida para a coluna, se houver (caso contrário, NULL).

privacy domain

O domínio de privacidade definido para a coluna, se houver (caso contrário, NULL).

schema evolution record

Registra informações sobre a última evolução do esquema acionada para uma determinada coluna da tabela. Esta coluna contém os seguintes subcampos:

  • EvolutionType: o tipo de evolução do esquema acionado (ADD_COLUMN ou DROP_NOT_NULL).

  • EvolutionMode: o mecanismo de ingestão de acionamento (COPY ou SNOWPIPE).

  • FileName: o nome do arquivo que acionou a evolução.

  • TriggeringTime: o tempo aproximado em que a coluna evoluiu.

  • QueryId ou PipeID: um identificador exclusivo da consulta ou canal de acionamento (QUERY ID para COPY ou PIPE ID para SNOWPIPE).

Quando TYPE = STAGE, a saída do comando fornece os valores padrão para as propriedades do estágio da tabela. Consulte Exemplo: Descreva as propriedades do estágio.

Exemplos

Os exemplos a seguir mostram como descrever tabelas.

Exemplo: Descreva uma tabela que tenha restrições e outros atributos de coluna

Crie uma tabela com cinco colunas, duas com restrições. Dê um valor DEFAULT e um comentário a uma coluna.

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

Descrever as colunas na tabela:

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                    |
+------+--------------+--------+-------+------------------+-------------+------------+-------+------------+---------------------------------+-------------+----------------+-------------------------+

Exemplo: Descreva uma tabela que tenha uma política de mascaramento em uma coluna

Crie uma política de mascaramento normal e, em seguida, recrie a tabela desc_example com a política de mascaramento definida em uma coluna. (Para executar este exemplo, crie primeiro a política de mascaramento 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                    |
+------+--------------+--------+-------+------------------+-------------+------------+-------+------------+---------------------------------+---------------------------------+----------------+-------------------------+

Exemplo: Descreva as propriedades do estágio

Descreva as propriedades do estágio atual para a mesma tabela (somente as cinco primeiras linhas são mostradas aqui):

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                |
...