- Catégories :
Fonctions système (Informations système)
SYSTEM$LIST_NAMESPACES_FROM_CATALOG¶
Liste les espaces de noms dans un catalogue Apache Iceberg™ REST distant (y compris Snowflake Open Catalog).
- Voir aussi :
Syntaxe¶
SYSTEM$LIST_NAMESPACES_FROM_CATALOG( '<catalog_integration_name>'
[ , '<parent_namespace>', <levels> ] )
Arguments¶
Obligatoire :
catalog_integration_name
Identifiant pour l’intégration du catalogue pour Iceberg REST ou Snowflake Open Catalog.
Facultatif :
parent_namespace
L’identificateur de l’espace de noms à partir duquel commencer à lister les espaces de noms.
Si
CATALOG_NAMESPACE
est défini au niveau de l’intégration du catalogue, pour récupérer les résultats du 0e niveau d’espace de noms dans le catalogue, spécifiez une chaîne vide (''
).Si
CATALOG_NAMESPACE
n’est défini qu’au niveau de la table, les résultats du 0e niveau de l’espace de noms sont renvoyés par défaut, de sorte qu’il n’est pas nécessaire de spécifier une chaîne vide (''
).Par défaut :
Si
CATALOG_NAMESPACE
est défini au niveau de l’intégration du catalogue, l’espace de noms pour l’intégration du catalogue.Si
CATALOG_NAMESPACE
n’est défini qu’au niveau de la table, vous récupérez les résultats pour le 0e niveau de l’espace de noms dans le catalogue.
levels
Spécifie le nombre de niveaux à parcourir dans la hiérarchie de l’espace de noms pour lister les espaces de noms enfants.
Par exemple :
Si la valeur est définie sur 0, la fonction renvoie tous les espaces de noms, de manière récursive, par rapport à
parent_namespace
.Si la valeur est 1, la fonction renvoie tous les espaces de noms situés à un niveau au-dessous de
parent_namespace
.Si elle est définie sur n, la fonction renvoie des espaces de noms jusqu’à n niveaux de profondeur, par rapport à
parent_namespace
.
Par défaut : 1
Renvoie¶
Renvoie une chaîne au format JSON qui liste les espaces de noms dans le catalogue REST Iceberg pour l’espace de noms parent et le nombre de niveaux spécifiés.
La chaîne au format JSON a la structure suivante :
[
"<namespace_identifier>",
"<namespace_identifier_n>"
]
Exigences en matière de contrôle d’accès¶
Un rôle utilisé pour exécuter cette opération doit au minimum disposer des privilèges suivants :
Privilège |
Objet |
Remarques |
---|---|---|
USAGE |
Intégration (catalogue) |
Pour obtenir des instructions sur la création d’un rôle personnalisé avec un ensemble spécifique de privilèges, voir Création de rôles personnalisés.
Pour des informations générales sur les rôles et les privilèges accordés pour effectuer des actions SQL sur des objets sécurisables, voir Aperçu du contrôle d’accès.
Exemples¶
Lister uniquement les espaces de noms directement sous l’espace de noms par défaut de l’intégration du catalogue :
SELECT SYSTEM$LIST_NAMESPACES_FROM_CATALOG('my_catalog_integration');
Lister tous les espaces de noms de manière récursive dans le catalogue :
SELECT SYSTEM$LIST_NAMESPACES_FROM_CATALOG('my_catalog_integration', '', 0);
Lister uniquement les espaces de noms situés à un niveau en dessous (directement sous) de l’espace de noms « db1 » :
SELECT SYSTEM$LIST_NAMESPACES_FROM_CATALOG('my_catalog_integration', 'db1');
Lister les espaces de noms à trois niveaux sous l’espace de noms « db1 » :
SELECT SYSTEM$LIST_NAMESPACES_FROM_CATALOG('my_catalog_integration', 'db1', 3);