Categorias:

Funções do sistema (Informações do sistema)

SYSTEM$LIST_ICEBERG_TABLES_FROM_CATALOG

Lista tabelas em um catálogo remoto Apache Iceberg™ REST (incluindo o Snowflake Open Catalog).

Consulte também:

Sintaxe

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

Argumentos

Obrigatório:

catalog_integration_name

Identificador para integração de catálogo para Iceberg REST ou Snowflake Open Catalog.

Opcional:

parent_namespace

O identificador do namespace a partir do qual iniciar a listagem de tabelas. Para recuperar resultados para o nível 0 do namespace no catálogo, especifique uma cadeia de caracteres vazia ('').

Padrão: O namespace padrão para a integração do catálogo (CATALOG_NAMESPACE).

levels

Especifica o número de níveis a serem percorridos na hierarquia de namespace para listagem de tabelas.

Por exemplo:

  • Se definido como 0, a função retorna todas as tabelas recursivamente, em relação ao parent_namespace.

  • Se definido como 1, a função retorna todas as tabelas dentro de parent_namespace.

  • Se definido como n, a função retorna tabelas com até n níveis de profundidade, em relação ao parent_namespace.

Padrão: 1

Retornos

Retorna uma cadeia de caracteres no formato JSON que lista tabelas no catálogo Iceberg REST para o namespace e o número de níveis especificados.

A cadeia de caracteres formatada em JSON tem a seguinte estrutura:

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

Requisitos de controle de acesso

Uma função usada para executar este comando SQL deve ter os seguintes privilégios no mínimo:

Privilégio

Objeto

Notas

USAGE

Integração (catálogo)

Para instruções sobre como criar uma função personalizada com um conjunto específico de privilégios, consulte Criação de funções personalizadas.

Para informações gerais sobre concessões de funções e privilégios para executar ações de SQL em objetos protegíveis, consulte Visão geral do controle de acesso.

Exemplos

Liste somente as tabelas no namespace do catálogo padrão:

SELECT SYSTEM$LIST_ICEBERG_TABLES_FROM_CATALOG('myCatalogIntegration');
Copy

Liste todas as tabela do catálogo:

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

Liste todas as tabelas recursivamente sob o namespace db1:

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

Liste todas as tabelas de três níveis sob o namespace db1:

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