SHOW WORKSPACES

アクセス権限がある:doc:`ワークスペース</user-guide/ui-snowsight/workspaces>`をリストします。各ワークスペースは特定のデータベースとスキーマに関連付けられ、体系的なデータアクセスとコラボレーションが可能です。

このコマンドを使用して、セッションの現在のデータベースとスキーマ、指定したデータベースまたはスキーマ、またはアカウント全体のオブジェクトをリストします。

出力には、各オブジェクトのメタデータとプロパティが含まれます。オブジェクトは、データベース、スキーマ、オブジェクト名で辞書順にソートされます(出力列の説明については、このトピックの Output をご参照ください)。結果をフィルターする場合は、結果の行の順序に注意することが重要です。

構文

SHOW WORKSPACES [ LIKE '<pattern>' ]
                [ IN
                     {
                       ACCOUNT                  |

                       DATABASE                 |
                       DATABASE <database_name> |

                       SCHEMA                   |
                       SCHEMA <schema_name>     |
                       <schema_name>
                     }

パラメーター

LIKE 'pattern'

オプションで、オブジェクト名でコマンド出力をフィルタリングします。フィルターは、 SQL ワイルドカード文字(% および _)をサポートする、 大文字と小文字を区別しない パターンマッチングを使用します。

たとえば、次のパターンは 同じ 結果を返します。

... LIKE '%testing%' ...
... LIKE '%TESTING%' ...

. デフォルト: 値なし(フィルタリングは出力に非適用)。

[ IN ... ]

オプションで、コマンドのスコープを指定します。次のいずれかを指定します。

ACCOUNT

アカウント全体の記録を返します。

DATABASE. DATABASE db_name

現在使用中のデータベースまたは指定されたデータベース(db_name)の記録を返します。

db_name なしで DATABASE を指定し、かつデータベースが使用されていない場合、キーワードは出力に影響しません。

注釈

データベースコンテキストで IN 句を指定せずに SHOW コマンドを使用すると、予想よりも少ない結果になる可能性があります。

IN 句を使用しない場合、同じ名前のオブジェクトは一度だけ表示されます。

SCHEMA. SCHEMA schema_name

現在使用中のスキーマまたは指定されたスキーマ(schema_name)の記録を返します。

データベースが使用中の場合、または完全修飾 schema_name (例: db.schema) を指定する場合、 SCHEMA はオプションです。

データベースが使用されていない場合は、 SCHEMA を指定しても出力には影響しません。

IN ... を省略した場合、コマンドのスコープは、セッションで現在使用中のデータベースがあるかどうかによって異なります。

  • データベースが現在使用中の場合、コマンドはデータベースで表示する権限を持つオブジェクトを返します。これは、IN DATABASE を指定するのと同じ効果があります。

  • データベースが現在使用中の場合、コマンドはアカウントで表示する権限を持つオブジェクトを返します。これは、IN 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' は結果を返します(入力文字列に一致する行がある場合)。

出力

コマンドの出力には、オブジェクトのプロパティとメタデータを説明する以下の列が含まれます。

説明

name

ワークスペースオブジェクトの名前。

database_name

ワークスペースが格納されているデータベース。

schema_name

ワークスペースが格納されているスキーマ。

created_on

ワークスペースが作成された日時。

updated_on

ワークスペースが最後に更新された日時。

owner

ワークスペースオブジェクトを所有するロール。

comment

ワークスペースオブジェクトのコメント。

アクセス制御の要件

この操作の実行に使用される ロール には、少なくとも次の 権限 が必要です。

権限

オブジェクト

メモ

任意の権限(たとえば、READ、WRITE、またはOWNERSHIP)

ワークスペース

アクティブなロールにワークスペースに対する権限がある場合、ワークスペースが結果に表示されます。OWNERSHIPは、オブジェクトを作成したロールに自動的に付与されるオブジェクトに対する特別な権限ですが、所有ロール(またはMANAGE GRANTS権限を持つ任意のロール)によってGRANT OWNERSHIPコマンドを使用して別のロールに譲渡することもできます。

指定された権限のセットを使用してカスタムロールを作成する手順については、 カスタムロールの作成 をご参照ください。

セキュリティ保護可能なオブジェクト に対して SQL アクションを実行するためのロールと権限付与に関する一般的な情報については、 アクセス制御の概要 をご参照ください。

使用上の注意

  • このコマンドの実行には、稼働中のウェアハウスは必要ありません。

  • このコマンドは、現在のユーザーの現在のロールに少なくとも1つのアクセス権限が付与されているオブジェクトのみを返します。

  • MANAGE GRANTS アクセス権限により、所有者はアカウント内のすべてのオブジェクトを暗黙的に参照できます。デフォルトでは、アカウント管理者( ACCOUNTADMIN ロールを持つユーザー)とセキュリティ管理者( SECURITYADMIN ロールを持つユーザー)のみが MANAGE GRANTS 権限を持っています。

  • このコマンドの出力を後処理するには、 パイプ演算子->>)または RESULT_SCAN 関数。どちらのコンストラクトも、出力を クエリできる結果セットとして扱います。

    たとえば、パイプ演算子または RESULT_SCAN 関数を使用して、 SHOW コマンド出力から特定の列を選択したり、行をフィルター処理したりできます。

    出力列を参照する場合は、列名に:ref:二重引用符<label-delimited_identifier>`で囲まれた識別子を使用します。たとえば、出力列 ``type` を選択するには、 SELECT "type" を指定します。

    SHOW コマンドの出力列名は小文字のため、二重引用符で囲まれた識別子を使用する必要があります。二重引用符により、 SELECT リストまたは WHERE 句内の列名が、スキャンされた SHOW コマンド出力内の列名と一致することが保証されます。

  • コマンドは、コマンドを実行するために使用されるロールのアクセス権限によって決定された通り、指定されたオブジェクトタイプに対して 最大 1万件の記録を返します。1万件を超える記録は、フィルターを適用しても返されません。

    1万件を超える記録が存在する結果を表示するには、 Snowflake Information Schema で対応するビュー(存在する場合)をクエリします。

  • スキーマレベルのオブジェクトに対して コマンドを実行すると、現在のロールが親データベースとスキーマに対しても少なくとも1つの権限を持っている場合にのみオブジェクトが返されます。

次の例では、現在のスキーマで表示権限のあるワークスペースをリストします。

SHOW WORKSPACES;

次の例では、``test``で始まる名前のワークスペースをリストします。

SHOW WORKSPACES STARTS WITH 'test';