- Categorias:
Funções do sistema (Informações do sistema)
SYSTEM$LIST_NAMESPACES_FROM_CATALOG¶
Lista os namespaces em um catálogo remoto Apache Iceberg™ REST (incluindo o Snowflake Open Catalog).
- Consulte também:
Sintaxe¶
SYSTEM$LIST_NAMESPACES_FROM_CATALOG( '<catalog_integration_name>'
[ , '<parent_namespace>', <levels> ] )
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 namespaces. 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 namespaces filho.
Por exemplo:
Se definido como 0, a função retorna todos os namespaces, recursivamente, relativos ao
parent_namespace
.Se definido como 1, a função retorna todos os namespaces um nível abaixo do
parent_namespace
.Se definido como n, a função retorna namespaces 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 namespaces no catálogo Iceberg REST para o namespace pai especificado e o número de níveis.
A cadeia de caracteres formatada em JSON tem a seguinte estrutura:
[
"<namespace_identifier>",
"<namespace_identifier_n>"
]
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 apenas os namespaces diretamente sob o namespace padrão da integração do catálogo:
SELECT SYSTEM$LIST_NAMESPACES_FROM_CATALOG('my_catalog_integration');
Liste todos os namespaces recursivamente no catálogo:
SELECT SYSTEM$LIST_NAMESPACES_FROM_CATALOG('my_catalog_integration', '', 0);
Liste apenas os namespaces um nível abaixo (diretamente abaixo) do namespace “db1”:
SELECT SYSTEM$LIST_NAMESPACES_FROM_CATALOG('my_catalog_integration', 'db1');
Liste os namespaces em três níveis sob o namespace “db1”:
SELECT SYSTEM$LIST_NAMESPACES_FROM_CATALOG('my_catalog_integration', 'db1', 3);