カテゴリ:

システム関数 (システム情報)

SYSTEM$LIST_ICEBERG_TABLES_FROM_CATALOG

リモート Apache Iceberg™ REST カタログ内のテーブルを一覧表示します(Snowflakeオープンカタログ を含みます)。

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

構文

SYSTEM$LIST_ICEBERG_TABLES_FROM_CATALOG( '<catalog_integration_name>'
  [ , '<parent_namespace>', <levels> ] )
Copy

引数

必須:

catalog_integration_name

Iceberg REST または Snowflakeオープンカタログ のカタログ統合のための識別子。

オプション:

parent_namespace

テーブルの一覧表示を開始する名前空間の識別子。カタログ内の0番目の名前空間レベルの結果を取得するには、空の文字列('')を指定します。

デフォルト:カタログ統合のデフォルト名前空間(CATALOG_NAMESPACE)。

levels

テーブルを一覧表示するために名前空間階層を移動するレベルの数を指定します。

例:

  • 0に設定された場合、この関数は parent_namespace に対してすべてのテーブルを再帰的に返します。

  • 1に設定された場合、この関数は parent_namespace 内のすべてのテーブルを返します。

  • n に設定された場合、この関数は parent_namespace に対して n レベルの深さまでのテーブルを返します。

デフォルト: 1

戻り値

指定された名前空間とレベル数のIceberg REST カタログのテーブルを一覧表示する JSON フォーマットの文字列を返します。

JSON フォーマットの文字列の構造は次のとおりです。

[
  {
    "namespace": "<namespace_identifier>",
    "name": "<table_name>"
  },
  {
    "namespace": "<namespace_identifier>",
    "name": "<table_name_n>"
  },
]
Copy

アクセス制御の要件

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

権限

オブジェクト

メモ

USAGE

統合(カタログ)

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

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

デフォルトのカタログ名前空間のテーブルのみを一覧表示します。

SELECT SYSTEM$LIST_ICEBERG_TABLES_FROM_CATALOG('myCatalogIntegration');
Copy

カタログの すべての テーブルを一覧表示します。

SELECT SYSTEM$LIST_ICEBERG_TABLES_FROM_CATALOG('myCatalogIntegration', '', 0);
Copy

db1 名前空間の下にあるすべてのテーブルを再帰的に一覧表示します。

SELECT SYSTEM$LIST_ICEBERG_TABLES_FROM_CATALOG('myCatalogIntegration', 'db1', 0);
Copy

db1 名前空間の3階層下のテーブルをすべて一覧表示します。

SELECT SYSTEM$LIST_ICEBERG_TABLES_FROM_CATALOG('myCatalogIntegration', 'db1', 3);
Copy