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:
Sintaxe¶
{ DESCRIBE | DESC } TABLE <name> [ TYPE = { COLUMNS | STAGE } ]
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 |
---|---|
|
Nome da coluna na tabela. |
|
Tipo de dados da coluna na tabela. Se agrupamento tiver sido especificado para a coluna, a especificação de agrupamento será incluída. |
|
Este valor é sempre |
|
Se a coluna aceita valores NULL ( |
|
O valor padrão para a coluna, se houver (caso contrário, |
|
Se a coluna é a chave primária (ou parte de uma chave primária de várias colunas; |
|
Se a coluna tem uma restrição UNIQUE ( |
|
Reservado para uso futuro. |
|
Reservado para uso futuro. |
|
O comentário definido para a coluna, se houver (caso contrário, |
|
A política de mascaramento definida para a coluna, se houver (caso contrário, |
|
O domínio de privacidade definido para a coluna, se houver (caso contrário, |
|
Registra informações sobre a última evolução do esquema acionada para uma determinada coluna da tabela. Esta coluna contém os seguintes subcampos:
|
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));
Descrever as colunas na tabela:
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 |
+------+--------------+--------+-------+------------------+-------------+------------+-------+------------+---------------------------------+-------------+----------------+-------------------------+
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);
+------+--------------+--------+-------+------------------+-------------+------------+-------+------------+---------------------------------+---------------------------------+----------------+-------------------------+
| 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;
+--------------------+--------------------------------+---------------+-----------------+------------------+
| 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 |
...