SHOW HYBRID TABLES

アクセス権限がある ハイブリッドテーブル をリストします。

このコマンドを使用して、現在/指定のデータベースまたはスキーマの、またはアカウント全体のハイブリッドテーブルをリストできます。

このコマンドは SHOW TABLES とは異なる出力列を返します。

出力は、データベース、スキーマ、およびハイブリッドテーブル名の辞書順に並べられたハイブリッドテーブルのメタデータとプロパティを返します(出力列の説明については、このトピックの 出力 を参照)。これは、提供されたフィルターを使用して結果をフィルターする場合に注意することが重要です。

このトピックでは、 ハイブリッドテーブル と指定することで混乱を避ける場合を除き、ハイブリッドテーブルを単に「テーブル」と呼ぶことに注意してください。

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

CREATE INDEXDROP INDEXSHOW INDEXESCREATE HYBRID TABLEDROP TABLEDESCRIBE TABLE

構文

SHOW [ TERSE ] [ HYBRID ] TABLES [ LIKE '<pattern>' ]
                                 [ IN { ACCOUNT | DATABASE [ <db_name> ] | SCHEMA [ <schema_name> ] } ]
                                 [ STARTS WITH '<name_string>' ]
                                 [ LIMIT <rows> [ FROM '<name_string>' ] ]
Copy

パラメーター

TERSE

オプションで、出力列のサブセットのみを返します。

  • created_on

  • name

  • kind

    kind 列の値は常に HYBRID TABLE です。

  • database_name

  • schema_name

デフォルト:値なし(出力にすべての列を含む)

HYBRID

ハイブリッドテーブルのみを返します。

LIKE 'pattern'

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

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

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

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

IN  ACCOUNT | DATABASE [ db_name ] | SCHEMA [ schema_name ]

必要に応じて、コマンドのスコープを指定します。これはコマンドが、現在/指定されたデータベースまたはスキーマの記録のみをリストするか、アカウント全体に表示するかを決定します。

キーワード ACCOUNT を指定すると、コマンドは、現在のアカウントのデータベースすべてにあるすべてのスキーマの記録を取得します。

キーワード DATABASE を指定すると、次のようになります。

  • db_name を指定すると、コマンドは、指定されたデータベースのスキーマすべての記録を取得します。

  • db_name を指定しない場合は、次のようになります。

    • 現在のデータベースがある場合、コマンドは、現在のデータベースにあるスキーマすべての記録を取得します。

    • 現在のデータベースがない場合、コマンドは、アカウントにあるすべてのデータベースとスキーマの記録を取得します。

キーワード SCHEMA を指定すると、次のようになります。

  • 修飾されたスキーマ名(例: my_database.my_schema)を指定すると、コマンドは、指定されたデータベースとスキーマの記録を取得します。

  • 修飾されていない schema_name を指定すると、次のようになります。

    • 現在のデータベースがある場合、コマンドは、現在のデータベースにある指定されたスキーマの記録を取得します。

    • 現在のデータベースがない場合、コマンドは、エラー SQL compilation error: Object does not exist, or operation cannot be performed を表示します。

  • schema_name を指定しない場合は、次のようになります。

    • 現在のデータベースがある場合は、次のようになります。

      • 現在のスキーマがある場合、コマンドは、現在のデータベースにある現在のスキーマの記録を取得します。

      • 現在のスキーマがない場合、コマンドは、現在のデータベースにあるスキーマすべての記録を取得します。

    • 現在のデータベースがない場合、コマンドは、アカウントにあるすべてのデータベースとすべてのスキーマの記録を取得します。

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

  • データベース: 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' は結果を返します(入力文字列に一致する行がある場合)。

使用上の注意

  • アカウント(またはデータベースまたはスキーマ)に多数のハイブリッドテーブルがある場合に、アカウント全体(またはデータベースまたはスキーマ)を検索すると、大量のコンピューティングリソースが消費される可能性があります。

  • このコマンドは、実行中のウェアハウスを必要としません。

  • LIMIT rows の値は 10000 を超えることはできません。 LIMIT rows が省略され、結果セットが10K行より大きい場合、コマンドはエラーになります。

    10Kを超える記録が存在する結果を表示するには、 LIMIT rows を含めるか、 Snowflake Information Schema の対応するビューをクエリします。

  • このコマンドの出力を後処理するには、 RESULT_SCAN 関数を使用できます。この関数は、出力をクエリ可能なテーブルとして扱います。

出力

注釈

次の出力スキーマは SHOW HYBRID TABLES コマンドのものです。SHOW TABLES の出力の情報については、 SHOW TABLES によるハイブリッドテーブルの識別 (このトピック内)をご参照ください。

コマンド出力では、次の列にテーブルプロパティとメタデータが提供されます。

説明

created_on

テーブルが作成された日時。

name

テーブルの名前。

database_name

テーブルが保存されているデータベース。

schema_name

テーブルが保存されているスキーマ。

owner

テーブルを所有するロール。

rows

テーブル内の行数。

bytes

クエリでテーブル全体がスキャンされる場合にスキャンされるバイト数。この数は、テーブルの実際の物理バイト(ディスクに保存されているバイト)数とは異なる場合があることに注意してください。

comment

テーブルのコメント。

owner_role_type

オブジェクトを所有するロールのタイプ、 ROLE または DATABASE_ROLE のいずれか。 . Snowflake Native App がオブジェクトを所有する場合、値は APPLICATION になります。 . 削除されたオブジェクトには所有者ロールがないため、オブジェクトを削除した場合、Snowflakeは NULL を返します。

注釈

rowsbytes 列の数は、データが常に変化している場合、正確に表示されないことがあります。たとえば、新しいデータがハイブリッドテーブルに継続的に挿入されている場合は、そのような変更が行われる可能性があります。

mydb.myschema スキーマで表示する権限がある、名前が product_ で始まるすべてのハイブリッドテーブルを表示します。

SHOW HYBRID TABLES LIKE 'product_%' IN mydb.myschema;
Copy

SHOW TABLES によるハイブリッドテーブルの識別

SHOW TABLES コマンドの出力には、テーブルがハイブリッドテーブルであるかどうかを示す列があります。

この列は、通常の SHOW TABLES 出力列 に加えて表示されます。

この列には次のような名前と可能な値があります。

列名

is_hybrid

テーブルがハイブリッドテーブルの場合は Y。それ以外の場合は N