无法创建视图 - 权限不足

时间:2016-03-15 14:22:22

标签: sql oracle11g oracle-sqldeveloper

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

创建角色

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;

1 个答案:

答案 0 :(得分:5)

From the documentation

  

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

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