SHOW VIEWS¶
ユーザーにアクセス権限があるビュー(セキュリティで保護されたビューを含む)をリストします。このコマンドを使用して、現在の/指定されたデータベースまたはスキーマ、またはアカウント全体のビューを一覧表示できます。
出力は、データベース、スキーマ、およびビュー名の辞書順に並べられたビューのメタデータとプロパティを返します。これは、提供されたフィルターを使用して結果をフィルターする場合に注意することが重要です。
- こちらもご参照ください。
ALTER VIEW、 CREATE VIEW、 DROP VIEW、 DESCRIBE VIEW
VIEWS ビュー (情報スキーマ)
構文¶
SHOW [ TERSE ] VIEWS [ LIKE '<pattern>' ]
[ IN { ACCOUNT | DATABASE [ <db_name> ] | [ SCHEMA ] [ <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 ] db_name | [ SCHEMA ] schema_name | [ APPLICATION ] application_name | [ APPLICATION PACKAGE ] application_package_name
オプションで、コマンドのスコープを指定します。これは、コマンドが現在/指定されたデータベースまたはスキーマのレコードのみを一覧表示するか、アカウント全体に表示するかを決定します。
APPLICATION
とAPPLICATION PACKAGE
キーワードは必須ではないが、 Snowflake Native App という名前のスコープを指定します。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'
は結果を返します(入力文字列に一致する行がある場合)。
出力¶
コマンド出力では、次の列にビュープロパティとメタデータが提供されます。
列 |
説明 |
---|---|
created_on |
ビューが作成された時のタイムスタンプ。 |
name |
ビューの名前。 |
reserved |
(今後の使用のために予約。) |
kind |
ビューの種類。 |
database_name |
ビューが存在するデータベースの名前。 |
schema_name |
ビューが存在するスキーマの名前。 |
owner |
ビューの所有者。 |
comment |
オプションのコメント。 |
text |
ビューを作成したコマンドのテキスト(例: CREATE VIEW ...)。 |
is_secure |
ビューがセキュアビューである場合はtrue。それ以外の場合はfalse。 |
is_materialized |
ビューがマテリアライズドビューの場合はtrue。それ以外の場合はfalse。 |
owner_role_type |
オブジェクトを所有するロールのタイプ。例えば |
change_tracking |
|
使用上の注意¶
設計上、コマンド出力にはセキュアビューが含まれますが、ビューの所有権を持つロールを使用している場合を除き、これらのビューに関する特定の情報は提供されません。セキュアビューの詳細を表示するには、ビューを所有するロールを使用するか、Information Schemaの VIEWS ビューを使用する必要があります。
このコマンドの出力には、
SN_TEMP_OBJECT_<n>
(<n>
は数値)のような名前のオブジェクトが含まれる場合があります。これらは、ユーザーの代理として Snowpark ライブラリにより作成される仮オブジェクトです。
このコマンドの実行には、稼働中のウェアハウスは必要ありません。
このコマンドは、現在のユーザーの現在のロールに少なくとも1つのアクセス権限が付与されているオブジェクトのみを返します。
MANAGE GRANTS アクセス権限により、所有者はアカウント内のすべてのオブジェクトを暗黙的に参照できます。デフォルトでは、アカウント管理者( ACCOUNTADMIN ロールを持つユーザー)とセキュリティ管理者( SECURITYADMIN ロールを持つユーザー)のみが MANAGE GRANTS 権限を持っています。
このコマンドの出力を後処理するには、 RESULT_SCAN 関数を使用できます。この関数は、出力をクエリ可能なテーブルとして扱います。このコマンドの出力をクエリするには、 パイプ演算子 を使用することもできます。
LIMIT rows
の値は10000
を超えることはできません。LIMIT rows
を省略した場合、結果セットが1万行を超えるとコマンドはエラーになります。1万件を超える記録が存在する結果を表示するには、
LIMIT rows
を含めるか、 Snowflake Information Schema の対応するビューをクエリします。
例¶
mydb.public
スキーマで表示する権限を持っている、名前が line
で始まるすべてのビューを表示します。
SHOW VIEWS LIKE 'line%' IN mydb.public; +-------------------------------+---------+----------+---------------+-------------+----------+---------+-------------------------------------------------------+-----------+-----------------+-----------------+-----------------+ | created_on | name | reserved | database_name | schema_name | owner | comment | text | is_secure | is_materialized | change_tracking | owner_role_type | +-------------------------------+---------+----------+---------------+-------------+----------+---------+-------------------------------------------------------+-----------+-----------------+-----------------+-----------------+ | 2019-05-24 18:41:14.247 -0700 | liners1 | | MYDB | PUBLIC | SYSADMIN | | create materialized views liners1 as select * from t; | false | false | on | ROLE | +-------------------------------+---------+----------+---------------+-------------+----------+---------+-------------------------------------------------------+-----------+-----------------+-----------------+-----------------+