- 类别:
系统函数 (系统信息)
SYSTEM$LIST_ICEBERG_TABLES_FROM_CATALOG¶
列出远程 Apache Iceberg™ REST 目录(包括 Snowflake Open Catalog)中的表。
- 另请参阅:
语法¶
SYSTEM$LIST_ICEBERG_TABLES_FROM_CATALOG( '<catalog_integration_name>'
[ , '<parent_namespace>', <levels> ] )
实参¶
必填:
catalog_integration_name
Iceberg REST 或 Snowflake Open Catalog 目录集成的标识符。
可选:
parent_namespace
开始列出表的命名空间的标识符。要检索目录中第 0 个命名空间级别的结果,请指定一个空字符串 (
''
)。默认值:目录集成 (
CATALOG_NAMESPACE
) 的默认命名空间。levels
指定要在列出表的命名空间层次结构中遍历的级别数量。
例如:
如果设置为 0,则该函数相对于
parent_namespace
递归返回所有表。如果设置为 1,则该函数返回
parent_namespace
中的所有表。如果设置为 n,则该函数相对于
parent_namespace
返回最多深 n 个级别的表。
默认值:1
返回¶
返回 JSON 格式的字符串,其中列出 Iceberg REST 目录中指定命名空间和级别数量的表。
JSON 格式化字符串具有以下结构:
[
{
"namespace": "<namespace_identifier>",
"name": "<table_name>"
},
{
"namespace": "<namespace_identifier>",
"name": "<table_name_n>"
},
]
访问控制要求¶
权限 |
对象 |
备注 |
---|---|---|
USAGE |
集成(目录) |
有关创建具有指定权限集的自定义角色的说明,请参阅 创建自定义角色。
示例¶
仅列出默认目录命名空间中的表:
SELECT SYSTEM$LIST_ICEBERG_TABLES_FROM_CATALOG('myCatalogIntegration');
列出目录中的 每个 表:
SELECT SYSTEM$LIST_ICEBERG_TABLES_FROM_CATALOG('myCatalogIntegration', '', 0);
递归列出 db1
命名空间下的所有表:
SELECT SYSTEM$LIST_ICEBERG_TABLES_FROM_CATALOG('myCatalogIntegration', 'db1', 0);
列出 db1
命名空间下三个级别的所有表:
SELECT SYSTEM$LIST_ICEBERG_TABLES_FROM_CATALOG('myCatalogIntegration', 'db1', 3);