【问题标题】:Oracle view - permissions needed on base tables?Oracle 视图 - 基表所需的权限?
【发布时间】:2014-06-10 13:20:05
【问题描述】:

假设我创建了一个使用 MyTableA 的 Oracle 视图 MyView。

创建视图 MyView 作为从 MyTable 中选择 ColumnA;

现在,我授予您对 MyView 的选择访问权限。您是否还需要对 MyTableA 进行选择访问才能从 MyView 中进行选择?

一位同事说“是”,但是这个页面;

http://docs.oracle.com/cd/B19306_01/server.102/b14220/datadict.htm

状态;

用户可访问的视图 汇总和显示存储在 >data 字典的基表中的信息的视图。这些视图使用连接和 WHERE 子句将基本表数据解码为有用的信息,例如 >user 或表名以简化信息。大多数用户都可以访问视图而不是基表。

【问题讨论】:

  • 不需要。视图的权限就足够了
  • 视图上选择的被授予者不需要在基表上被授予选择,但视图上选择的授予者需要在基表上具有授予选项。

标签: sql oracle view


【解决方案1】:

不,你没有。视图的目的之一是限制对基础数据的访问,如果您还必须授予对实际表的权限,这将是不可能的。

Read more in the concepts guide.

【讨论】:

    【解决方案2】:

    对于简单的选择,您不需要对基表的任何权限。但是,如果您的视图调用自定义函数或对象类型,那么您的用户也必须拥有EXECUTE 权限,才能使用这些函数,分别。对象类型。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-07-04
      • 1970-01-01
      • 1970-01-01
      • 2011-01-28
      • 1970-01-01
      • 1970-01-01
      • 2019-06-12
      • 1970-01-01
      相关资源
      最近更新 更多