0

我在 sql developer (Oracle 11g) 中使用以下内容创建了一个新用户。我只有两个名为 FEED_DATA_A 和 FEED_DATA_B 的表,我希望这个用户能够选择、更新和插入它们。有人可以帮助我了解 SQL 以创建适当的权限来完成此操作吗?我目前以系统用户身份登录。

CREATE USER "USER_A" IDENTIFIED BY "test123";
4

1 回答 1

2

如果您想直接将权限授予用户

GRANT select, update, insert 
   ON table_owner.feed_data_a
   TO user_a;
GRANT select, update, insert 
   ON table_owner.feed_data_b
   TO user_a;

但是,更常见的是,您将创建一个角色,将角色授予用户,然后将权限授予该角色。这使得将来创建一个新用户时更容易,您希望拥有与 USER_A 相同的权限,只授予几个角色,而不是找出可能需要授予的所有权限。它还使创建新表和授予新权限变得更容易,以确保应该拥有相同权限的用户继续拥有相同的权限。

CREATE ROLE feed_data_role;

GRANT select, update, insert 
   ON table_owner.feed_data_a
   TO feed_data_role;
GRANT select, update, insert 
   ON table_owner.feed_data_b
   TO feed_data_role;

GRANT feed_data_role
   TO user_a
于 2013-10-31T21:08:37.087 回答