SHOW EXTERNAL TABLES¶
アクセス権限がある外部テーブルをリストします。このコマンドを使用して、現在の/指定されたデータベースまたはスキーマの、またはアカウント全体の外部テーブルを一覧表示できます。
出力は、データベース、スキーマ、および外部テーブル名の辞書順に並べられた外部テーブルのメタデータとプロパティを返します(出力列の説明については、このトピックの 出力 を参照)。これは、提供されたフィルターを使用して結果をフィルターする場合に注意することが重要です。
- こちらもご参照ください。
CREATE EXTERNAL TABLE、 DROP EXTERNAL TABLE、 ALTER EXTERNAL TABLE、 DESCRIBE EXTERNAL TABLE
構文¶
SHOW [ TERSE ] EXTERNAL TABLES [ LIKE '<pattern>' ]
[ IN
{
ACCOUNT |
DATABASE |
DATABASE <database_name> |
SCHEMA |
SCHEMA <schema_name> |
<schema_name>
}
]
[ STARTS WITH '<name_string>' ]
[ LIMIT <rows> [ FROM '<name_string>' ] ]
パラメーター¶
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
を指定し、かつデータベースが使用されていない場合、キーワードは出力に影響しません。SCHEMA
、 .SCHEMA schema_name
、 .schema_name
現在使用中のスキーマまたは指定されたスキーマ(
schema_name
)の記録を返します。データベースが使用中の場合、または完全修飾
schema_name
(例:db.schema
) を指定する場合、SCHEMA
はオプションです。データベースが使用されていない場合は、
SCHEMA
を指定しても出力には影響しません。
デフォルト: セッションで現在使用中のデータベースがあるかどうかによって異なります。
データベース:
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 |
オブジェクトを所有するロールのタイプ、 |
外部テーブルに指定できるプロパティの詳細については、 CREATE EXTERNAL TABLE をご参照ください。
例¶
tpch.public
スキーマで表示する権限がある、名前が line
で始まるすべての外部テーブルを表示します。
SHOW EXTERNAL TABLES LIKE 'line%' IN tpch.public;