如何查询Oracle与SQL Server数据库的schema名称列表?等效SQL是什么
不同数据库查询所有Schema的等效语句
你在PostgreSQL中使用的语句属于SQL标准定义的information_schema元数据查询方式:
select schema_name from information_schema.schemata
Oracle和SQL Server的等效实现如下:
Oracle 等效查询
Oracle中Schema本质和用户一一对应,同名用户默认拥有同名Schema的所有权,有两种常用查询方式:
- 兼容SQL标准的写法(Oracle 12c及以上版本支持,可直接复用PostgreSQL的查询语句):
select schema_name from information_schema.schemata
- 兼容所有Oracle版本的原生系统视图查询(返回当前账号有权限查看的所有Schema):
select username as schema_name from all_users order by username
如果使用DBA权限账号,可替换all_users为dba_users查询数据库全量Schema
SQL Server 等效查询
- 兼容SQL标准的写法(可直接复用PostgreSQL的查询语句):
select schema_name from information_schema.schemata
- SQL Server原生系统视图查询:
select name as schema_name from sys.schemas order by name
内容的提问来源于stack exchange,提问作者Juscelino Júnior
相关产品推荐
相关产品推荐

