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 o operador de canal (->>) ou a função RESULT_SCAN. Ambos os constructos tratam a saída como um conjunto de resultados que você pode consultar.

    Os nomes das colunas de saída para este comando são gerados em minúsculas. Se você consumir um conjunto de resultados deste comando com o operador de canal ou a função RESULT_SCAN, use identificadores entre aspas duplas para os nomes das colunas na consulta para garantir que eles correspondam aos nomes das colunas na saída que foi verificada. Por exemplo, se o nome de uma coluna de saída for type, especifique "type" para o identificador.

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. Se agrupamento tiver sido especificado para a coluna, a especificação de agrupamento será incluída.

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