You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何查询Oracle数据库中数据库视图的创建用户?

Oracle 查询视图创建者的等效SQL语句

如果你需要查询Oracle数据库中某个视图的创建者,可以使用以下适配后的SQL语句,对应你提供的TSQL版本调整:

SELECT u.username AS creator_name, v.*
FROM all_views v
JOIN all_users u ON u.username = v.owner
WHERE v.view_name = '你的视图名称' -- Oracle默认以大写存储对象名,建议匹配实际存储的大小写

关键说明:

  • all_views:对应TSQL中的sys.all_views,存储当前用户有权限查看的所有视图信息,其中view_name是视图名称,owner字段记录了视图的所属用户(通常就是创建者,除非后续通过权限变更转移了所有权)。
  • all_users:对应你提到的TSQL中的sys.database_principals,存储数据库中所有用户的信息,username为用户名。你之前猜测的USER是Oracle的内置伪列,仅代表当前会话的用户,无法用来关联所有视图的创建者。
  • 若需要查看数据库中所有视图(包括当前用户无权限访问的),可将all_views替换为dba_views、all_users替换为dba_users,但执行该语句需要DBA级权限。
  • 如果视图创建时使用了大小写敏感的名称(带双引号),查询时需用双引号包裹视图名称以匹配。

和TSQL语句的对应关系:

TSQL对象Oracle等效对象
sys.all_viewsall_views
sys.database_principalsall_users/dba_users
v.schema_idv.owner(直接关联用户名)

内容的提问来源于stack exchange,提问作者HJH008

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.24 17:35:59