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>
APPLICATION <application_name> |
APPLICATION PACKAGE <application_package_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
を指定し、かつデータベースが使用されていない場合、キーワードは出力に影響しません。注釈
データベースコンテキストで
IN
句を指定せずに SHOW コマンドを使用すると、予想よりも少ない結果になる可能性があります。IN
句を使用しない場合、同じ名前のオブジェクトは一度だけ表示されます。例えば、schema1
にテーブルt1
、そしてschema2
にテーブルt1
があり、両方とも指定したデータベースコンテキストのスコープ内にある場合(つまり、選択したデータベースがschema1
とschema2
の親である場合)の場合、 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 またはアプリケーションパッケージの記録を返します。
デフォルト: セッションで現在使用中のデータベースがあるかどうかによって異なります。
データベース:
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'
は結果を返します(入力文字列に一致する行がある場合)。
出力¶
コマンド出力では、次の列にテーブルプロパティとメタデータが提供されます。
列 |
説明 |
---|---|
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 をご参照ください。
使用上の注意¶
このコマンドでは、削除された外部テーブルはリストされません。
このコマンドの実行には、稼働中のウェアハウスは必要ありません。
このコマンドは、現在のユーザーの現在のロールに少なくとも1つのアクセス権限が付与されているオブジェクトのみを返します。
MANAGE GRANTS アクセス権限により、所有者はアカウント内のすべてのオブジェクトを暗黙的に参照できます。デフォルトでは、アカウント管理者( ACCOUNTADMIN ロールを持つユーザー)とセキュリティ管理者( SECURITYADMIN ロールを持つユーザー)のみが MANAGE GRANTS 権限を持っています。
このコマンドの出力を後処理するには、 RESULT_SCAN 関数を使用できます。この関数は、出力をクエリ可能なテーブルとして扱います。このコマンドの出力をクエリするには、 パイプ演算子 を使用することもできます。
LIMIT rows
の値は10000
を超えることはできません。LIMIT rows
を省略した場合、結果セットが1万行を超えるとコマンドはエラーになります。1万件を超える記録が存在する結果を表示するには、
LIMIT rows
を含めるか、 Snowflake Information Schema の対応するビューをクエリします。
例¶
tpch.public
スキーマで表示する権限がある、名前が line
で始まるすべての外部テーブルを表示します。
SHOW EXTERNAL TABLES LIKE 'line%' IN tpch.public;