SHOW SCHEMAS¶
アクセス権限があるスキーマをリストします。これには、Time Travelの保持期間内にあるため削除できないスキーマも含まれます。このコマンドを使用して、現在のデータベースまたは指定されたデータベースのスキーマを一覧表示するか、アカウント全体でスキーマを一覧表示できます。
出力は、データベースとスキーマ名で辞書順に並べられたスキーマメタデータとプロパティを返します。これは、提供されたフィルターを使用して結果をフィルターする場合に注意することが重要です。
- こちらもご参照ください。
CREATE SCHEMA、 ALTER SCHEMA、 DESCRIBE SCHEMA、 DROP SCHEMA、 UNDROP SCHEMA
SCHEMATA ビュー (情報スキーマ)
構文¶
SHOW [ TERSE ] SCHEMAS
[ HISTORY ]
[ LIKE '<pattern>' ]
[ IN { ACCOUNT | DATABASE [ <db_name> ] | APPLICATION <application_name> | APPLICATION PACKAGE <application_package_name> } ]
[ STARTS WITH '<name_string>' ]
[ LIMIT <rows> [ FROM '<name_string>' ] ]
[ WITH PRIVILEGES <object_privilege> [ , <object_privilege> [ , ... ] ] ]
パラメーター¶
TERSE
次の列のみを含む出力を返します。
created_on
name
kind
database_name
schema_name
kind
はスキーマには適用できず、schema_name
はname
と重複するため、kind
とschema_name
は常にNULL
を表示することに注意してください。デフォルト:値なし(出力にすべての列を含む)
HISTORY
まだパージされていない(つまり、それぞれのTime Travel保持期間内にある)ドロップされたスキーマが含まれます。ドロップされたスキーマの複数のバージョンが存在する場合、出力には各バージョンの行が表示されます。出力には、追加の
dropped_on
列も含まれ、次を表示します:日付とタイムスタンプ(ドロップされたスキーマの場合)
NULL
(アクティブなスキーマの場合)。
デフォルト:値なし(ドロップされたスキーマは出力に 含まれない)
LIKE 'pattern'
オプションで、オブジェクト名でコマンド出力をフィルタリングします。フィルターは、 SQL ワイルドカード文字(
%
および_
)をサポートする、 大文字と小文字を区別しない パターンマッチングを使用します。たとえば、次のパターンは 同じ 結果を返します。
... LIKE '%testing%' ...
... LIKE '%TESTING%' ...
. デフォルト: 値なし(フィルタリングは出力に非適用)。
IN { ACCOUNT | [ DATABASE ] [ db_name ] | APPLICATION application_name | APPLICATION PACKAGE application_package_name }
コマンドのスコープを指定します。コマンドのスコープは、コマンドが現在/指定されたデータベースのレコードのみを一覧表示するか、アカウント全体について表示するかを決定します。
APPLICATION
とAPPLICATION PACKAGE
キーワードは必須ではないが、 Snowflake Native App という名前のスコープを指定します。DATABASE
キーワードは必須ではありません。データベース名のみを指定してスコープを設定できます。同様に、セッションで現在使用中のデータベースがある場合、データベース名は必要ありません。デフォルト:セッションで現在使用中のデータベースがあるかどうかによって異なります。
データベース:
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'
は結果を返します(入力文字列に一致する行がある場合)。
WITH PRIVILEGES object_privilege [ , object_privilege [ , ... ] ]
オプションで、現在のユーザーの アクティブなロール が、オブジェクトのリストで指定されたすべての権限を付与されているオブジェクトに行を制限します。
CREATE <オブジェクト> 権限が権限リストに含まれている場合、コマンドはセカンダリ・ロールに権限が付与されているオブジェクトを除外します。これは、プライマリ・ロールだけがオブジェクトを作成する権限を持っているからです。詳細については、 施行モデル: プライマリロールおよびセカンダリロール をご参照ください。
使用上の注意¶
スコープを
APPLICATION
またはSNOWFLAKE
という名前のデータベースに指定すると、owner
列はSNOWFLAKE
をLOCAL
という名前のスキーマの所有者として返します。例:SHOW SCHEMAS IN APPLICATION my_app; SHOW SCHEMAS IN DATABASE SNOWFLAKE;
owner
列は次を返します。+-----+-------+-----+-----------+-----+ | ... | name | ... | owner | ... | +-----+-------+-----+-----------+-----+ | ... | LOCAL | ... | SNOWFLAKE | ... | +-----+-------+-----+-----------+-----+
このコマンドは、稼働中のウェアハウスを必要としません。
LIMIT rows
の値は10000
を超えることはできません。LIMIT rows
が省略され、結果セットが10K行より大きい場合、コマンドはエラーになります。10Kを超える記録が存在する結果を表示するには、
LIMIT rows
を含めるか、 Snowflake Information Schema の対応するビューをクエリします。
このコマンドの出力を後処理するには、 RESULT_SCAN 関数を使用できます。この関数は、出力をクエリ可能なテーブルとして扱います。
HISTORY
とWITH PRIVILEGES
句は相互に排他的です。同じステートメントで両方を使用することはできません。
例¶
表示する権限がある現在のデータベース mytestdb
のスキーマすべてを表示します。
SHOW SCHEMAS;
+---------------------------------+--------------------+------------+------------+---------------+--------+-----------------------------------------------------------+---------+----------------+-----------------+--------+
| created_on | name | is_default | is_current | database_name | owner | comment | options | retention_time | owner_role_type | budget |
|---------------------------------+--------------------+------------+------------+---------------+--------+-----------------------------------------------------------+---------+----------------+-----------------+--------+
| Fri, 13 May 2016 17:58:37 -0700 | INFORMATION_SCHEMA | N | N | MYTESTDB | | Views describing the contents of schemas in this database | | 1 | ROLE | NULL |
| Wed, 25 Feb 2015 16:16:54 -0800 | PUBLIC | N | Y | MYTESTDB | PUBLIC | | | 1 | ROLE | NULL |
+---------------------------------+--------------------+------------+------------+---------------+--------+-----------------------------------------------------------+---------+----------------+-----------------+--------+
ドロップされたスキーマを含む、表示する権限を持つ現在のデータベース mytestdb
内にあるすべてのスキーマを表示します(この例は DROP SCHEMA の例に基づいています)。
SHOW SCHEMAS HISTORY;
+---------------------------------+--------------------+------------+------------+---------------+--------+-----------------------------------------------------------+---------+----------------+---------------------------------+-----------------+----------+
| created_on | name | is_default | is_current | database_name | owner | comment | options | retention_time | dropped_on | owner_role_type | budget |
|---------------------------------+--------------------+------------+------------+---------------+--------+-----------------------------------------------------------+---------+----------------+---------------------------------+-----------------+----------+
| Fri, 13 May 2016 17:59:50 -0700 | INFORMATION_SCHEMA | N | N | MYTESTDB | | Views describing the contents of schemas in this database | | 1 | NULL | | NULL |
| Wed, 25 Feb 2015 16:16:54 -0800 | PUBLIC | N | Y | MYTESTDB | PUBLIC | | | 1 | NULL | ROLE | NULL |
| Tue, 17 Mar 2015 16:42:29 -0700 | MYSCHEMA | N | N | MYTESTDB | PUBLIC | | | 1 | Fri, 13 May 2016 17:25:32 -0700 | ROLE | MYBUDGET |
+---------------------------------+--------------------+------------+------------+---------------+--------+-----------------------------------------------------------+---------+----------------+---------------------------------+-----------------+----------+
現在のデータベースで、 USAGE 権限が付与されているすべてのスキーマを表示します。
SHOW SCHEMAS WITH PRIVILEGES USAGE;
+-------------------------------+----------------+------------+------------+-----------------------------------------------------------+--------------+---------+---------+----------------+-----------------+--------+
| created_on | name | is_default | is_current | database_name | owner | comment | options | retention_time | owner_role_type | budget |
|-------------------------------+----------------+------------+------------+-----------------------------------------------------------+--------------+---------+---------+----------------+-----------------+--------|
| 2023-01-27 15:01:12.940 -0800 | PUBLIC | N | N | BOOKS_DB | DATA_ADMIN | | | 1 | ROLE | NULL |
| 2023-09-15 15:22:51.164 -0700 | PUBLIC | N | N | TEST_DB | ACCOUNTADMIN | | | 4 | ROLE | NULL |
| 2023-01-13 10:58:49.584 -0800 | ACCOUNT_USAGE | N | N | SNOWFLAKE | | | | 1 | | NULL |
+-------------------------------+----------------+------------+------------+-----------------------------------------------------------+--------------+---------+---------+----------------+-----------------+--------+