嗷呜的善泽融 2022-03-08 16:27 采纳率: 70%
浏览 24
已结题

ORACLE数据库,我想使用用户B中的表,在用户A创建视图(VIEW)

ORACLE数据库,我想使用用户B中的表,在用户A创建视图(VIEW),需要什么权限呢?怎么写

  • 写回答

2条回答 默认 最新

  • DarkAthena ORACLE应用及数据库设计方案咨询师 2022-03-08 16:44
    关注

    不确定你的目的是让用户A获得创建视图的权限还是让用户A能查到用户B的数据

    1. 如果只是为了查这张表里的数据,不需要做数据过滤的话,直接授权B用户的这个表给A用户查询权限,A用户就能查B用户的这个表了

      grant select on B用户.表名 to A用户;
      

      然后在A用户下执行查询时要带上用户名

      select * FROM B用户.表名;
      

      或者再建一个同义词就不需要加用户名了

      create synonym A用户.表名 for B用户.表名;
      select * FROM 表名;
      
    2. 如果是只让用户A访问视图,而视图里的表都是B用户的,那么也没必要把视图建在A用户下,你可以直接把视图先建在B用户下,然后使用上面的方法授权给A查询

    3. 如果是想让用户A能自主创建视图,而且还能使用用户B的表,那么要授权A用户查询任何表的查询权限和创建任何视图的权限

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 3月16日
  • 已采纳回答 3月8日
  • 创建了问题 3月8日

悬赏问题

  • ¥15 netty整合springboot之后自动重连失效
  • ¥20 wireshark抓不到vlan
  • ¥20 关于#stm32#的问题:需要指导自动酸碱滴定仪的原理图程序代码及仿真
  • ¥20 设计一款异域新娘的视频相亲软件需要哪些技术支持
  • ¥15 stata安慰剂检验作图但是真实值不出现在图上
  • ¥15 c程序不知道为什么得不到结果
  • ¥40 复杂的限制性的商函数处理
  • ¥15 程序不包含适用于入口点的静态Main方法
  • ¥15 素材场景中光线烘焙后灯光失效
  • ¥15 请教一下各位,为什么我这个没有实现模拟点击