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:
Syntax¶
{ DESCRIBE | DESC } TABLE <name> [ TYPE = { COLUMNS | STAGE } ]
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 der Spalte in der Tabelle. |
|
Datentyp der Spalte in der Tabelle. |
|
Dieser Wert ist bei Snowflake-Tabellen immer |
|
Ob die Spalte NULL Werte akzeptiert ( |
|
Der Standardwert für die Spalte, falls vorhanden, (sonst |
|
Ob die Spalte der Primärschlüssel ist (oder Teil eines mehrspaltigen Primärschlüssels; |
|
Ob die Spalte eine UNIQUE-Einschränkung hat ( |
|
Reserviert für zukünftige Verwendung. |
|
Reserviert für zukünftige Verwendung. |
|
Der für die Spalte festgelegte Kommentar, falls vorhanden (sonst |
|
Die für die Spalte festgelegte Maskierungsrichtlinie, falls vorhanden (sonst |
|
Der für die Spalte festgelegte Datenschutzbereich, falls vorhanden (sonst |
|
Erfasst Informationen zu der zuletzt ausgelösten Schemaentwicklung bei einer gegebenen Tabellenspalte. Diese Spalte enthält die folgenden Unterfelder:
|
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));
Beschreiben Sie die Spalten in der Tabelle:
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 |
+------+--------------+--------+-------+------------------+-------------+------------+-------+------------+---------------------------------+-------------+----------------+-------------------------+
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);
+------+--------------+--------+-------+------------------+-------------+------------+-------+------------+---------------------------------+---------------------------------+----------------+-------------------------+
| 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;
+--------------------+--------------------------------+---------------+-----------------+------------------+
| 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 |
...