SHOW CONTACTS

アクセス権限のある 連絡先 をリストします。

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

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

こちらもご参照ください。

CREATE CONTACTALTER CONTACTDROP CONTACT

構文

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

                DATABASE                 |
                DATABASE <database_name> |

                SCHEMA                   |
                SCHEMA <schema_name>     |
                <schema_name>
              }
          ]
          [ STARTS WITH '<name_string>' ]
          [ LIMIT <rows> ]
          [ LIMIT <rows> [ FROM '<name_string>' ] ]
Copy

パラメーター

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 があり、両方とも指定したデータベースコンテキストのスコープ内にある場合(つまり、選択したデータベースが schema1schema2 の親である場合)の場合、 SHOW TABLES は t1 テーブルの1つのみを表示します。

SCHEMA. SCHEMA schema_name

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

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

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

デフォルト: セッションで現在使用中のデータベースがあるかどうかによって異なります。

  • データベース: DATABASE がデフォルトです(つまり、コマンドはデータベースで表示する権限を持つオブジェクトを返します)。

  • データベースなし: ACCOUNT はデフォルトです(つまり、コマンドは、アカウントで表示する権限を持つオブジェクトを返します)。

STARTS WITH 'name_string'

オプションで、オブジェクト名の先頭に表示される文字に基づいてコマンド出力をフィルタリングします。文字列は一重引用符で囲む必要があり、 大文字と小文字を区別します

たとえば、次の文字列は 異なる 結果を返します。

... STARTS WITH 'B' ...
... STARTS WITH 'b' ...

. デフォルト: 値なし(フィルターは出力に適用されない)

LIMIT rows

オプションで、返される行の最大数を制限します。実際に返される行数は、指定された制限より少ない場合があります。例えば、既存のオブジェクトの数が指定された制限より少ないなどです。

デフォルト: 値なし(出力に制限は非適用)。

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

連絡先を含むスキーマ名。

owner

連絡先に対して OWNERSHIP 権限を持つロール。

comment

連絡先を説明するユーザー指定の文字列(指定された場合)。

owner_role_type

連絡先に対して OWNERSHIP 権限を持つロールのタイプ。ROLE、DATABASE_ROLE、APPLICATION のいずれか(Snowflake Native Appがオブジェクトを所有している場合)。

email_distribution_list

連絡先に関連するメールアドレス。

url

連絡先に関連付けられている URL。

entries_in_users

連絡先にユーザー名が関連付けられている場合、関連付けられているユーザー数を表示します。

users

連絡先に関連するユーザーの配列。

アクセス制御の要件

SHOW CONTACTS を実行するには、連絡先を含むスキーマに対して USAGE 権限が必要です。

使用上の注意

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

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

次の例は、 mydb データベースの PUBLIC スキーマで表示権限を持っている連絡先をリストします。

USE DATABASE mydb;

SHOW CONTACTS;
Copy