在Progress-OpenEdge中查询数据库名称的SQL语句是什么
Progress OpenEdge 查询数据库名称的SQL语句
Progress OpenEdge 没有和MySQL兼容的show databases语法,系统元数据存储在专属的系统表中,对应的查询方法如下:
查询当前连接的数据库名称
执行以下SQL即可获取当前会话连接的数据库名称:
SELECT name FROM sysprogress.sysdbnames;
注意事项
- 执行该查询需要当前账号拥有
sysprogress系统schema的读取权限,无权限会触发权限报错或返回空结果 - 若OpenEdge实例配置了多租户隔离,仅能查询到当前租户权限范围内的数据库名称
等效标准SQL查所有Schema的语句
如果你需要实现和SELECT schema_name FROM information_schema.schemata等效的效果,查询当前数据库下所有可用的Schema(所有者),可以用以下语句:
SELECT DISTINCT owner FROM sysprogress.systables;
注意事项
- Progress OpenEdge 所有系统级元数据表都归属
sysprogressschema,查询时必须带上此前缀,否则会报表不存在的错误
内容的提问来源于stack exchange,提问作者Abhishek C
相关产品推荐
相关产品推荐

