SHOW <オブジェクト>¶
指定したオブジェクトタイプの既存のオブジェクトを一覧表示します。出力には、次のようなオブジェクトのメタデータが含まれます。
共通のプロパティ(名前、作成タイムスタンプ、所有ロール、コメントなど)
オブジェクト固有のプロパティ
- こちらもご参照ください。
構文¶
SHOW <object_type_plural> [ LIKE '<pattern>' ] [ IN <scope_object_type> [ <scope_object_name> ] ]
特定の構文、使用上の注意、および例については、以下をご参照ください。
アカウント操作
セッション/ユーザー操作:
アカウントオブジェクト:
データベースオブジェクト:
クラス:
一般的な使用上の注意¶
SHOW コマンドを実行するために実行中のウェアハウスは必要ありません。
SHOW コマンドは、現在のユーザーの現在のロールに必要なアクセス権が付与されているオブジェクトのみを返します。例:
SHOW DATABASES 出力には、ユーザーのロールに OWNERSHIP または USAGE 権限があるデータベースが含まれます。
SHOW SCHEMAS 出力には、ユーザーのロールが OWNERSHIPまたは USAGE 権限を持つスキーマが含まれます。
SHOW TABLES 出力には、ユーザーのロールに権限があるテーブルが含まれます。ロールには、親データベースとスキーマに対する USAGE 権限も必要です。
MANAGE GRANTS アクセス権限により、所有者はアカウント内のすべてのオブジェクトを暗黙的に参照できます。デフォルトでは、アカウント管理者( ACCOUNTADMIN ロールを持つユーザー)とセキュリティ管理者( SECURITYADMIN ロールを持つユーザー)のみが MANAGE GRANTS 権限を持っています。
ほとんどの SHOW コマンドの出力は、次の句を使用して制御できます。
オプションの
LIKE
句を使用して、名前で返されるオブジェクトのリストをフィルタリングできます。データベースオブジェクトタイプは、追加のオプションの
IN
句を提供します。これを使用して、コマンドのスコープを特定のスキーマまたはデータベースのいずれか、またはアカウント全体に設定できます。
注釈
データベースコンテキストで
IN
句を指定せずに SHOW コマンドを使用すると、予想よりも少ない結果になる可能性があります。IN
句が使用されていない場合、同じ名前のオブジェクトは1回だけ表示されます。たとえば、schema1
にテーブルt1
、そしてschema2
にt1
があり、両方とも指定したデータベースコンテキストのスコープ内にある場合(つまり、選択したデータベースがschema1
とschema2
の親である場合)の場合、 SHOW TABLES はt1
テーブルの1つのみを表示します。
プレフィックス
is_
で始まる列は、Y
(はい)またはN
(いいえ)のいずれかを返します。このコマンドの実行には、稼働中のウェアハウスを必要としません。
コマンドは、コマンドを実行するために使用されるロールのアクセス権によって決定された通り、指定されたオブジェクトタイプに対して 最大 10Kの記録を返します。フィルタが適用されていても、10Kの制限を超える記録は返されません。
10Kを超える記録が存在する結果を表示するには、 Snowflake Information Schema で対応するビュー(存在する場合)をクエリします。
このコマンドの出力を後処理するには、 RESULT_SCAN 関数を使用できます。この関数は、出力をクエリ可能なテーブルとして扱います。