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 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 |
---|---|
|
Nome da coluna na tabela. |
|
Tipo de dados da coluna na tabela. |
|
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 |
...