【问题标题】:Unable to create view - insufficient privileges无法创建视图 - 权限不足
【发布时间】:2016-07-01 01:15:52
【问题描述】:

我无法创建视图 - 我的权限不足。 工作流程-> 创建角色-> 授予角色创建视图-> 创建用户-> 向用户添加角色-> 尝试创建视图,我得到了错误。任何帮助将不胜感激

创建角色

CREATE ROLE enrolment;

授予角色以下权限 - 基表 hr.students

GRANT insert, select, update
ON hr.students
TO enrolment;

还授予角色创建视图权限

GRANT create view 
TO enrolment;

创建了以下用户

CREATE USER enrol1
IDENTIFIED BY pw4321;

将角色授予帐户

GRANT enrolment
TO enrol1;

当我尝试在基表 hr.students 上创建以下视图时,我被告知我没有足够的权限。我可以在基表上运行 select 语句。

CREATE OR REPLACE VIEW vu_student_name
 AS SELECT student_id, lastname
    FROM hr.students;

【问题讨论】:

    标签: sql oracle11g oracle-sqldeveloper


    【解决方案1】:

    From the documentation:

    包含视图的架构的所有者必须具有从视图所基于的所有表或视图中选择、插入、更新或删除行所需的权限。所有者必须直接被授予这些权限,而不是通过角色。

    您只有通过角色授予的基表权限。他们需要直接授予enrol1

    【讨论】:

      猜你喜欢
      • 2013-04-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-12-10
      相关资源
      最近更新 更多