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.

  • If schema evolution is enabled on the table, the output contains a schema_evolution_record column. This column was introduced with the Pacote 2023_08 (geralmente ativado). For more information, see Evolução do esquema da tabela.

  • A saída inclui uma coluna policy name para indicar a política de mascaramento definida diretamente na coluna. Se a coluna estiver protegida por uma política de mascaramento baseada em tags, o Snowflake retornará NULL.

    Se uma política de mascaramento não estiver definida diretamente na coluna ou se a conta Snowflake não for Enterprise Edition ou superior, o Snowflake retornará 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.

    Por exemplo, você pode usar o operador de canal ou a função RESULT_SCAN para selecionar colunas específicas da saída do comando SHOW ou filtrar as linhas.

    Quando você fizer referência a colunas de saída, use identificadores entre aspas duplas para os nomes das colunas. Por exemplo, para selecionar a coluna de saída type, especifique SELECT "type".

    Você deve usar identificadores entre aspas duplas porque os nomes das colunas de saída para os comandos SHOW estão em minúsculas. As aspas duplas garantem que os nomes das colunas na lista SELECT ou na cláusula WHERE correspondam aos nomes das colunas na saída do comando SHOW que foi verificada.

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: The triggering ingestion mechanism (COPY, SNOWPIPE, or SNOWPIPE_STREAMING).

  • FileName: The file name that triggered the evolution (NULL for SNOWPIPE_STREAMING).

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

  • QueryId or PipeId: A unique identifier of the triggering query or pipe (QUERY ID for COPY, PIPE ID for SNOWPIPE, or NULL for SNOWPIPE_STREAMING).

  • Pipe name: Fully qualified pipe name that triggered schema evolution (SNOWPIPE_STREAMING only).

  • Nome do canal: o canal que acionou a evolução do esquema (somente SNOWPIPE_STREAMING).

  • offsetTokenUpperBound: a evolução do esquema foi acionada em ou antes desse deslocamento (somente SNOWPIPE_STREAMING).

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