DESCRIBE TABLE

Beschreibt entweder die Spalten in einer Tabelle oder das Set an Eigenschaften des Stagingbereichs für die Tabelle (aktuelle Werte und Standardwerte).

DESCRIBE kann mit DESC abgekürzt werden.

Siehe auch:

DROP TABLE, ALTER TABLE, CREATE TABLE, SHOW TABLES

DESCRIBE VIEW

Syntax

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

Parameter

name

Gibt den Bezeichner für die zu beschreibende Tabelle an. Wenn der Bezeichner Leerzeichen oder Sonderzeichen enthält, muss die gesamte Zeichenfolge in doppelte Anführungszeichen gesetzt werden. Bei Bezeichnern, die in doppelte Anführungszeichen eingeschlossen sind, ist auch die Groß-/Kleinschreibung zu beachten.

TYPE = COLUMNS | STAGE

Gibt an, ob die Spalten für die Tabelle oder das Set an Eigenschaften des Stagingbereichs für die Tabelle (aktuelle Werte und Standardwerte) angezeigt werden sollen.

Standard: TYPE = COLUMNS

Nutzungshinweise

  • Dieser Befehl zeigt die Objektparameter für eine Tabelle nicht an. Verwenden Sie stattdessen SHOW PARAMETERS IN TABLE.

  • DESCRIBE TABLE und DESCRIBE VIEW sind austauschbar. Beide Befehle geben Details für die angegebene Tabelle oder Ansicht zurück; TYPE = STAGE gilt jedoch nicht für Ansichten, da Ansichten keine Stagingbereiche haben.

  • Wenn die Schemaentwicklung für die Tabelle aktiviert ist, enthält die Ausgabe eine SchemaEvolutionRecord-Spalte. Diese Spalte wurde mit dem Bundle 2023_08 (Allgemein verfügbar) eingeführt. Weitere Informationen dazu finden Sie unter Tabellenschemaentwicklung.

  • Die Ausgabe enthält eine Spalte policy name, in der die auf der Spalte festgelegte Maskierungsrichtlinie angegeben ist.

    Wenn für die Spalte keine Maskierungsrichtlinie festgelegt ist oder wenn es sich bei dem Snowflake-Konto nicht um ein Enterprise Edition-Konto oder höher handelt, gibt Snowflake NULL zurück.

  • Die Ausgabe enthält eine Spalte privacy domain, die den für die Spalte festgelegten Datenschutzbereich anzeigt.

    Wenn für die Spalte kein Datenschutzbereich festgelegt ist oder wenn es sich bei dem Snowflake-Konto nicht um ein Enterprise Edition-Konto oder höher handelt, gibt Snowflake NULL zurück.

  • Zur Weiterverarbeitung der Ausgabe dieses Befehls können Sie die Funktion RESULT_SCAN verwenden, die die Ausgabe wie eine abfragbare Tabelle behandelt.

Ausgabe

Wenn TYPE = COLUMNS finden Sie in der Befehlsausgabe die folgenden Eigenschaften und Metadaten:

Spalte

Beschreibung

name

Name der Spalte in der Tabelle.

type

Datentyp der Spalte in der Tabelle.

kind

Dieser Wert ist bei Snowflake-Tabellen immer COLUMN.

null?

Ob die Spalte NULL Werte akzeptiert (Y oder N).

default

Der Standardwert für die Spalte, falls vorhanden, (sonst NULL).

primary key

Ob die Spalte der Primärschlüssel ist (oder Teil eines mehrspaltigen Primärschlüssels; Y oder N).

unique key

Ob die Spalte eine UNIQUE-Einschränkung hat (Y oder N).

check

Reserviert für zukünftige Verwendung.

expression

Reserviert für zukünftige Verwendung.

comment

Der für die Spalte festgelegte Kommentar, falls vorhanden (sonst NULL).

policy name

Die für die Spalte festgelegte Maskierungsrichtlinie, falls vorhanden (sonst NULL).

privacy domain

Der für die Spalte festgelegte Datenschutzbereich, falls vorhanden (sonst NULL).

schema evolution record

Erfasst Informationen zu der zuletzt ausgelösten Schemaentwicklung bei einer gegebenen Tabellenspalte. Diese Spalte enthält die folgenden Unterfelder:

  • EvolutionType: Der Typ der ausgelösten Schemaentwicklung (ADD_COLUMN oder DROP_NOT_NULL).

  • EvolutionMode: Der auslösende Erfassungsmechanismus (COPY oder SNOWPIPE).

  • FileName: Der Dateiname, der die Entwicklung ausgelöst hat.

  • TriggeringTime: Der ungefähre Zeitpunkt, zu dem die Entwicklung der Spalte erfolgte.

  • QueryId oder PipeID: Ein eindeutiger Bezeichner der auslösenden Abfrage oder Pipe (QUERY ID für COPY oder PIPE ID für SNOWPIPE).

Wenn Sie TYPE = STAGE wählen, liefert die Befehlsausgabe die aktuellen und Standardwerte für die Eigenschaften des Stagingbereichs der Tabelle. Siehe Beispiel: Beschreiben der Eigenschaften des Stagingbereichs.

Beispiele

In den folgenden Beispielen wird gezeigt, wie Sie Tabellen beschreiben können.

Beispiel: Beschreiben einer Tabelle, die Einschränkungen und andere Spaltenattribute hat

Erstellen Sie eine Tabelle mit fünf Spalten, zwei davon mit Einschränkungen. Geben Sie einer Spalte einen DEFAULT-Wert und einen Kommentar.

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

Beschreiben Sie die Spalten in der Tabelle:

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

Beispiel: Beschreiben einer Tabelle, die eine Maskierung für eine Spalte vorsieht

Erstellen Sie eine normale Maskierungsrichtlinie, und erstellen Sie dann die Tabelle desc_example neu, wobei die Maskierungsrichtlinie auf eine Spalte festgelegt ist. (Um dieses Beispiel auszuführen, erstellen Sie zunächst die Maskierungsrichtlinie 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                    |
+------+--------------+--------+-------+------------------+-------------+------------+-------+------------+---------------------------------+---------------------------------+----------------+-------------------------+

Beispiel: Beschreiben der Eigenschaften des Stagingbereichs

Beschreiben Sie die aktuellen Eigenschaften des Stagingbereichs für dieselbe Tabelle (hier werden nur die ersten fünf Zeilen angezeigt):

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