早上好,
我试图了解Oracle数据库角色和权限中的一件事:
所以,我正在尝试创建两个角色:程序员和经理。
程序员角色用户的想法是创建和插入表。 Manager角色用户的想法是获得程序员角色权限,PLUS更新记录。
我认为如果我将程序员角色授予管理员角色,最后一个角色可以:
但是通过SQL开发人员,我将Programmer角色授予Manager角色,当我使用Manager User连接到数据库时,我无法找到在SYSTEM.A上创建的表(例如)。
我是否需要授予明确的Manager角色也可以创建和插入?如果是这样,继承的重点是什么?
解
程序员角色:插入&&创建表权限; 经理角色:更新&&选择任何表权限;
由于我的目标是让Manager用户继承Programmer角色权限,因此可以这样实现:
(设置角色和权限后):
打开Manager SQL表并尝试创建表并选择,插入和更新它。您将看到Manager拥有来自"程序员"的采用者权限。作用。
答案 0 :(得分:2)
SQL是一种非过程语言。话虽如此,你不需要在这里考虑继承。相反,Grant明确地在管理员角色上创建,插入和更新权限。
以下是您可以做的事情:
1-创建程序员和经理角色:
SQL> CREATE ROLE role_name由pass_word标识;
2-然后对每个角色授予GRANT权限(您的要求):
SQL> GRANT权限TO role_name;
3-通过向特定角色授予每个用户(取决于他是经理还是程序员)来授予用户(程序员和管理员)权限。
SQL> GRANT role_name TO user_name;
您可以在以下链接中找到更多详细信息: http://docs.oracle.com/cd/B10501_01/server.920/a96521/privs.htm#21065