- Catégories :
Fonctions système (Informations système)
SYSTEM$LIST_ICEBERG_TABLES_FROM_CATALOG¶
Liste les tables dans un catalogue Apache Iceberg™ REST distant (y compris un Snowflake Open Catalog).
- Voir aussi :
Syntaxe¶
SYSTEM$LIST_ICEBERG_TABLES_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 à répertorier les tables. Pour récupérer les résultats du niveau d’espace de noms 0 dans le catalogue, spécifiez une chaîne vide (
''
).Par défaut : l’espace de noms par défaut pour l’intégration du catalogue (
CATALOG_NAMESPACE
).levels
Spécifie le nombre de niveaux à parcourir dans la hiérarchie de l’espace de noms pour lister les tables.
Par exemple :
Si la valeur est définie sur 0, la fonction renvoie toutes les tables de manière récursive, par rapport à
parent_namespace
.Si la valeur est définie sur 1, la fonction renvoie toutes les tables de
parent_namespace
.Si elle est définie sur n, la fonction renvoie des tables jusqu’à n niveaux de profondeur, par rapport à
parent_namespace
.
Par défaut : 1
Renvoie¶
Renvoie une chaîne au format JSON qui liste les tables dans le catalogue REST Iceberg pour l’espace de noms et le nombre de niveaux spécifiés.
La chaîne au format JSON a la structure suivante :
[
{
"namespace": "<namespace_identifier>",
"name": "<table_name>"
},
{
"namespace": "<namespace_identifier>",
"name": "<table_name_n>"
},
]
Exigences en matière de contrôle d’accès¶
Un rôle utilisé pour exécuter cette commande SQL doit avoir les privilèges suivants définis au minimum ainsi :
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 tables dans l’espace de noms du catalogue par défaut :
SELECT SYSTEM$LIST_ICEBERG_TABLES_FROM_CATALOG('myCatalogIntegration');
Lister chaque table du catalogue :
SELECT SYSTEM$LIST_ICEBERG_TABLES_FROM_CATALOG('myCatalogIntegration', '', 0);
Lister toutes les tables de manière récursive sous l’espace de noms db1
:
SELECT SYSTEM$LIST_ICEBERG_TABLES_FROM_CATALOG('myCatalogIntegration', 'db1', 0);
Lister les trois niveaux des tables sous l’espace de noms db1
:
SELECT SYSTEM$LIST_ICEBERG_TABLES_FROM_CATALOG('myCatalogIntegration', 'db1', 3);