SHOW EXTERNAL TABLES

アクセス権限がある外部テーブルをリストします。このコマンドを使用して、現在の/指定されたデータベースまたはスキーマの、またはアカウント全体の外部テーブルを一覧表示できます。

出力は、データベース、スキーマ、および外部テーブル名の辞書順に並べられた外部テーブルのメタデータとプロパティを返します(出力列の説明については、このトピックの 出力 を参照)。これは、提供されたフィルターを使用して結果をフィルターする場合に注意することが重要です。

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

CREATE EXTERNAL TABLEDROP EXTERNAL TABLEALTER EXTERNAL TABLEDESCRIBE EXTERNAL TABLE

構文

SHOW [ TERSE ] EXTERNAL TABLES [ LIKE '<pattern>' ]
                               [ IN { ACCOUNT | DATABASE [ <db_name> ] | [ SCHEMA ] [ <schema_name> ] } ]
                               [ STARTS WITH '<name_string>' ]
                               [ LIMIT <rows> [ FROM '<name_string>' ] ]
Copy

パラメーター

TERSE

出力列のサブセットのみを返します。

  • created_on

  • name

  • kind

  • database_name

  • schema_name

LIKE 'pattern'

オプションで、オブジェクト名でコマンド出力をフィルタリングします。フィルターは、 SQL ワイルドカード文字(% および _)をサポートする、 大文字と小文字を区別しない パターンマッチングを使用します。

たとえば、次のパターンは 同じ 結果を返します。

... LIKE '%testing%' ...
... LIKE '%TESTING%' ...

. デフォルト: 値なし(フィルタリングは出力に非適用)。

IN ACCOUNT | [ DATABASE ] db_name | [ SCHEMA ] schema_name

コマンドのスコープを指定します。これは、コマンドが現在/指定されたデータベースまたはスキーマのレコードのみを一覧表示するか、アカウント全体に表示するかを決定します。

DATABASE または SCHEMA キーワードは必須ではありません。データベースまたはスキーマ名のみを指定して、スコープを設定できます。同様に、セッションで現在使用中のデータベースがある場合、データベース名またはスキーマ名は必要ありません。

  • DATABASE または SCHEMA が名前なしで指定され、セッションで現在使用中のデータベースがない場合、パラメーターは出力に影響しません。

  • SCHEMA が名前で指定され、セッションで現在使用中のデータベースがない場合、スキーマ名はデータベース名で完全修飾する 必要があります (例: testdb.testschema)。

デフォルト: セッションで現在使用中のデータベースがあるかどうかによって異なります。

  • データベース: DATABASE がデフォルトです(つまり、コマンドはデータベースで表示する権限を持つオブジェクトを返します)。

  • データベースなし: ACCOUNT はデフォルトです(つまり、コマンドは、アカウントで表示する権限を持つオブジェクトを返します)。

STARTS WITH 'name_string'

オプションで、オブジェクト名の先頭に表示される文字に基づいてコマンド出力をフィルタリングします。文字列は一重引用符で囲む必要があり、 大文字と小文字を区別します

たとえば、次の文字列は 異なる 結果を返します。

... STARTS WITH 'B' ...
... STARTS WITH 'b' ...

. デフォルト: 値なし(フィルターは出力に適用されない)

LIMIT rows [ FROM 'name_string' ]

オプションで、返される行の最大数を制限すると同時に、結果の「ページネーション」を有効にします。実際に返される行数は、指定された制限より少ない場合があります。例えば、既存のオブジェクトの数が指定された制限より少ないなどです。

オプションの FROM 'name_string' サブ句は、結果の「カーソル」として効果的に機能します。これにより、指定された文字列と一致するオブジェクト名を持つ最初の行に続く指定された行数を取得できます。

  • 文字列は一重引用符で囲む必要があり、 大文字と小文字を区別します

  • 文字列に完全なオブジェクト名を含める必要はありません。部分的な名前がサポートされています。

デフォルト:値なし(出力に制限は適用されない)

注釈

FROM 'name_string' 句と STARTS WITH 'name_string' 句の両方をサポートする SHOW コマンドの場合、同じステートメントでこれらの両方の句を組み合わせることができます。ただし、両方の条件を満たしている必要があります。そうでない場合、互いにキャンセルされ、結果が返されません。

さらに、オブジェクトは名前の辞書式順序で返されるため、 FROM 'name_string' は、 STARTS WITH 'name_string' によって返される行よりも辞書式の値が大きい行のみを返します。

例:

  • ... STARTS WITH 'A' LIMIT ... FROM 'B' は結果を返しません。

  • ... STARTS WITH 'B' LIMIT ... FROM 'A' は結果を返しません。

  • ... STARTS WITH 'A' LIMIT ... FROM 'AB' は結果を返します(入力文字列に一致する行がある場合)。

使用上の注意

  • このコマンドは、ドロップされた外部テーブルをリストしません。

  • このコマンドは、稼働中のウェアハウスを必要としません。

  • LIMIT rows の値は 10000 を超えることはできません。 LIMIT rows が省略され、結果セットが10K行より大きい場合、コマンドはエラーになります。

    10Kを超える記録が存在する結果を表示するには、 LIMIT rows を含めるか、 Snowflake Information Schema の対応するビューをクエリします。

  • このコマンドの出力を後処理するには、 RESULT_SCAN 関数を使用できます。この関数は、出力をクエリ可能なテーブルとして扱います。

出力

コマンド出力では、次の列にテーブルプロパティとメタデータが提供されます。

説明

created_on

外部テーブルが作成された日時。

name

外部テーブルの名前。

database_name

外部テーブルのスキーマのデータベース。

schema_name

外部テーブルのスキーマ。

invalid

TRUE 外部テーブルの説明で参照されているステージまたはファイル形式のいずれかが削除された場合。

invalid_reason

INVALID 列に TRUE 値が表示されている場合、外部テーブルが無効である理由。

owner

外部テーブルを所有するロール。

comment

外部テーブルのコメント。

stage

外部テーブル定義で参照されるステージの完全修飾名。

location

外部テーブル定義の外部ステージとフォルダーパス。データコンシューマーアカウントでインポートされた共有の外部テーブルの NULL。

file_format_name

外部テーブル定義の名前付きファイル形式。ステージ定義で指定されたファイル形式を表示しません。

file_format_type

外部テーブル定義で指定されたファイル形式タイプ。ステージ定義で指定されたファイル形式タイプを表示しません。

cloud

ステージングされたデータファイルが配置されているクラウド。

region

ステージングされたデータファイルが配置される地域。

notification_channel

外部テーブルのAmazon SQS キューのAmazonリソース名。

last_refreshed_on

外部テーブルのメタデータが、手動または自動のいずれかで、外部ステージおよびパスの関連ファイルの最新セットと最後に同期された時間を示すタイムスタンプ。

table_format

外部テーブルによって参照されるステージングされたファイルのテーブル形式。可能な値: DELTA、 UNSPECIFIED。

last_refresh_details

将来の機能をサポートします。現在は NULL のみです。

owner_role_type

オブジェクトを所有するロールのタイプ、 ROLE または DATABASE_ROLE のいずれか。 . Snowflake Native App がオブジェクトを所有する場合、値は APPLICATION になります。 . 削除されたオブジェクトには所有者ロールがないため、オブジェクトを削除した場合、Snowflakeは NULL を返します。

外部テーブルに指定できるプロパティの詳細については、 CREATE EXTERNAL TABLE をご参照ください。

tpch.public スキーマで表示する権限がある、名前が line で始まるすべての外部テーブルを表示します。

SHOW EXTERNAL TABLES LIKE 'line%' IN tpch.public;
Copy