SHOW EXTERNAL TABLES

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

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

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

CREATE EXTERNAL TABLEDROP EXTERNAL TABLEALTER EXTERNAL TABLEDESCRIBE EXTERNAL TABLE

構文

SHOW [ TERSE ] EXTERNAL TABLES [ LIKE '<pattern>' ]
                               [ IN
                                        {
                                          ACCOUNT                                         |

                                          DATABASE                                        |
                                          DATABASE <database_name>                        |

                                          SCHEMA                                          |
                                          SCHEMA <schema_name>                            |
                                          <schema_name>

                                          APPLICATION <application_name>                  |
                                          APPLICATION PACKAGE <application_package_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. DATABASE db_name

現在使用中のデータベースまたは指定されたデータベース(db_name)の記録を返します。

db_name なしで DATABASE を指定し、かつデータベースが使用されていない場合、キーワードは出力に影響しません。

注釈

データベースコンテキストで IN 句を指定せずに SHOW コマンドを使用すると、予想よりも少ない結果になる可能性があります。

IN 句を使用しない場合、同じ名前のオブジェクトは一度だけ表示されます。例えば、 schema1 にテーブル t1 、そして schema2 にテーブル t1 があり、両方とも指定したデータベースコンテキストのスコープ内にある場合(つまり、選択したデータベースが schema1schema2 の親である場合)の場合、 SHOW TABLES は t1 テーブルの1つのみを表示します。

SCHEMA. SCHEMA schema_name

現在使用中のスキーマまたは指定されたスキーマ(schema_name)の記録を返します。

データベースが使用中の場合、または完全修飾 schema_name (例: db.schema) を指定する場合、 SCHEMA はオプションです。

データベースが使用されていない場合は、 SCHEMA を指定しても出力には影響しません。

APPLICATION application_name. APPLICATION PACKAGE application_package_name

名前付き Snowflake Native App またはアプリケーションパッケージの記録を返します。

IN ... を省略した場合、コマンドのスコープは、セッションで現在使用中のデータベースがあるかどうかによって異なります。

  • If a database is currently in use, the command returns the objects you have privileges to view in the database. This has the same effect as specifying IN DATABASE.

  • If no database is currently in use, the command returns the objects you have privileges to view in your account. This has the same effect as specifying IN 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' は結果を返します(入力文字列に一致する行がある場合)。

出力

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

説明

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 があります。. Snowflake Native App がオブジェクトを所有する場合、値は APPLICATION になります。. 削除されたオブジェクトには所有者ロールがないため、オブジェクトを削除した場合、Snowflakeは NULL を返します。

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

使用上の注意

  • このコマンドでは、削除された外部テーブルはリストされません。

  • このコマンドの実行には、稼働中のウェアハウスは必要ありません。

  • このコマンドは、現在のユーザーの現在のロールに少なくとも1つのアクセス権限が付与されているオブジェクトのみを返します。

  • MANAGE GRANTS アクセス権限により、所有者はアカウント内のすべてのオブジェクトを暗黙的に参照できます。デフォルトでは、アカウント管理者( ACCOUNTADMIN ロールを持つユーザー)とセキュリティ管理者( SECURITYADMIN ロールを持つユーザー)のみが MANAGE GRANTS 権限を持っています。

  • このコマンドの出力を後処理するには、 パイプ演算子->>)または RESULT_SCAN 関数。どちらのコンストラクトも、出力を クエリできる結果セットとして扱います。

    For example, you can use the pipe operator or RESULT_SCAN function to select specific columns from the SHOW command output or filter the rows.

    When you refer to the output columns, use double-quoted identifiers for the column names. For example, to select the output column type, specify SELECT "type".

    You must use double-quoted identifiers because the output column names for SHOW commands are in lowercase. The double quotes ensure that the column names in the SELECT list or WHERE clause match the column names in the SHOW command output that was scanned.

  • LIMIT rows の値は 10000 を超えることはできません。LIMIT rows を省略した場合、結果セットが1万行を超えるとコマンドはエラーになります。

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

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

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