DESCRIBE TABLE¶
テーブルの列、またはテーブルのステージプロパティのセット(現在の値とデフォルト値)を記述します。
DESCRIBE は DESC に短縮できます。
- こちらもご参照ください。
構文¶
{ DESCRIBE | DESC } TABLE <name> [ TYPE = { COLUMNS | STAGE } ]
パラメーター¶
name
記述するテーブルの識別子を指定します。識別子にスペースまたは特殊文字が含まれる場合、文字列全体を二重引用符で囲む必要があります。二重引用符で囲まれた識別子も大文字と小文字が区別されます。
TYPE = COLUMNS | STAGE
テーブルの列を表示するか、テーブルのステージプロパティ(現在の値とデフォルト値を含む)を表示するかを指定します。
デフォルト:
TYPE = COLUMNS
使用上の注意¶
このコマンドは、テーブルのオブジェクトパラメーターを表示しません。代わりに、 SHOW PARAMETERS IN TABLE を使用してください。
DESCRIBE TABLE と DESCRIBE VIEW は交換可能です。どちらのコマンドも、指定されたテーブルまたはビューの詳細を返します。しかし、ビューにはステージ・プロパティがないため、
TYPE = STAGE
はビューには適用されません。テーブルスキーマの進化が有効な場合は、出力に
SchemaEvolutionRecord
列が含まれます。この列は、 2023_08バンドル(一般で有効) で導入されました。詳細については、 テーブルスキーマの進化 をご参照ください。出力には
policy name
列が含まれ、列に設定された マスキングポリシー を示します。列にマスキングポリシーが設定されていない場合、またはSnowflakeアカウントがEnterprise Edition以上でない場合、Snowflakeは
NULL
を返します。出力には
privacy domain
列が含まれ、列に設定された マスキングポリシー を示します。列にマスキングポリシーが設定されていない場合、またはSnowflakeアカウントがEnterprise Edition以上でない場合、Snowflakeは
NULL
を返します。
このコマンドの出力を後処理するには、 RESULT_SCAN 関数を使用できます。この関数は、出力をクエリ可能なテーブルとして扱います。
出力¶
TYPE = COLUMNS
の場合、コマンド出力は以下のプロパティとメタデータを提供します。
列 |
説明 |
---|---|
|
テーブル内にある列の順序位置。 |
|
テーブルの列のデータ型。 |
|
この値はSnowflakeテーブルでは常に |
|
列が NULL 値 ( |
|
もしあれば、列のデフォルト値(そうでなければ |
|
列が主キー (または複数列の主キーの一部; |
|
列が UNIQUE制約 ( |
|
今後の使用のために予約されています。 |
|
今後の使用のために予約されています。 |
|
もしあれば、列に設定されたコメント(そうでなければ |
|
列に マスキング・ポリシー が設定されている場合(そうでない場合は |
|
列に プライバシードメイン が設定されている場合(そうでない場合は |
|
指定されたテーブルの列に対してトリガーされた最新のスキーマ進化に関する情報を記録します。この列には以下のサブフィールドが含まれています。
|
TYPE = STAGE
の場合、コマンド出力はテーブルのステージ・プロパティの現在値とデフォルト値を提供します。 例: ステージの特性を説明する をご参照ください。
例¶
以下の例は、テーブルの記述方法を示しています。
例: 制約とその他の列属性を持つテーブルを記述する¶
5つの列と2つの制約を持つテーブルを作成する。1列に DEFAULT 値とコメントをつける。
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));
テーブルの列を説明します。
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 |
+------+--------------+--------+-------+------------------+-------------+------------+-------+------------+---------------------------------+-------------+----------------+-------------------------+
例: 列にマスキングポリシーを持つテーブルを記述する¶
通常のマスキング・ポリシー を作成し、マスキング・ポリシーを 1 つの列に設定した desc_example
テーブルを再作成する。(この例を実行するには、 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 |
+------+--------------+--------+-------+------------------+-------------+------------+-------+------------+---------------------------------+---------------------------------+----------------+-------------------------+
例: ステージの特性を説明する¶
同じテーブルの現在のステージ・プロパティを記述する(ここでは最初の5行のみが示される):
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 |
...