DESCRIBE TABLE

テーブルの列、またはテーブルのステージプロパティのセット(現在の値とデフォルト値)を記述します。

DESCRIBE は DESC に短縮できます。

こちらもご参照ください。

DROP TABLEALTER TABLECREATE TABLESHOW TABLES

DESCRIBE VIEW

構文

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

パラメーター

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 の場合、コマンド出力は以下のプロパティとメタデータを提供します。

説明

name

テーブル内にある列の順序位置。

type

テーブルの列のデータ型。

kind

この値はSnowflakeテーブルでは常に COLUMN です。

null?

列が NULL 値 (Y または N) を受け入れるかどうか。

default

もしあれば、列のデフォルト値(そうでなければ NULL)。

primary key

列が主キー (または複数列の主キーの一部; Y または N) であるかどうか。

unique key

列が UNIQUE制約 (Y または N) を持っているかどうか。

check

今後の使用のために予約されています。

expression

今後の使用のために予約されています。

comment

もしあれば、列に設定されたコメント(そうでなければ NULL)。

policy name

列に マスキング・ポリシー が設定されている場合(そうでない場合は NULL)。

privacy domain

列に プライバシードメイン が設定されている場合(そうでない場合は NULL)。

schema evolution record

指定されたテーブルの列に対してトリガーされた最新のスキーマ進化に関する情報を記録します。この列には以下のサブフィールドが含まれています。

  • EvolutionType: トリガーされたスキーマ進化のタイプ (ADD_COLUMN または DROP_NOT_NULL)。

  • EvolutionMode: トリガーとなる摂取メカニズム (COPY または SNOWPIPE)。

  • FileName: 進化のトリガーとなったファイル名。

  • TriggeringTime: 列が進化したおおよその時間。

  • QueryId または PipeID: トリガーとなるクエリまたはパイプの一意な識別子 (COPY の場合は QUERY ID 、 SNOWPIPE の場合は PIPE ID)。

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));
Copy

テーブルの列を説明します。

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

例: 列にマスキングポリシーを持つテーブルを記述する

通常のマスキング・ポリシー を作成し、マスキング・ポリシーを 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);
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                    |
+------+--------------+--------+-------+------------------+-------------+------------+-------+------------+---------------------------------+---------------------------------+----------------+-------------------------+

例: ステージの特性を説明する

同じテーブルの現在のステージ・プロパティを記述する(ここでは最初の5行のみが示される):

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