如何查询Oracle NoSQL数据库中所有用户表及系统表
Oracle NoSQL Database 获取全量表(用户表+系统表)列表查询方法
你可以直接查询Oracle NoSQL内置的系统元数据表SYS$Table拿到全量的表信息,该表的type字段会自动标记表的类型:值为SYSTEM代表内置系统表,值为USER代表用户自建表。
全量查询所有表(含系统表+用户表)
执行以下语句即可拿到完整列表,返回结果包含表名、所属命名空间、属主、创建时间等基础元数据:
SELECT tableName, type, namespace, owner, creationTime FROM SYS$Table ORDER BY type DESC, namespace, tableName;
仅查询用户自建表
如果只需要业务侧创建的用户表,加过滤条件即可:
SELECT tableName, namespace, owner, creationTime, shardKey, primaryKey FROM SYS$Table WHERE type = 'USER' ORDER BY namespace, tableName;
仅查询内置系统表
如果只需要系统表清单,用对应过滤条件:
SELECT tableName, description FROM SYS$Table WHERE type = 'SYSTEM' ORDER BY tableName;
注意:执行上述查询需要账号具备
SYS$Table的读取权限,普通业务账号默认只能查询到自身有权限访问的表,集群管理员账号可查询全集群所有表。
内容的提问来源于stack exchange,提问作者Rupesh
相关产品推荐
相关产品推荐

