我在 sql developer (Oracle 11g) 中使用以下内容创建了一个新用户。我只有两个名为 FEED_DATA_A 和 FEED_DATA_B 的表,我希望这个用户能够选择、更新和插入它们。有人可以帮助我了解 SQL 以创建适当的权限来完成此操作吗?我目前以系统用户身份登录。
CREATE USER "USER_A" IDENTIFIED BY "test123";
我在 sql developer (Oracle 11g) 中使用以下内容创建了一个新用户。我只有两个名为 FEED_DATA_A 和 FEED_DATA_B 的表,我希望这个用户能够选择、更新和插入它们。有人可以帮助我了解 SQL 以创建适当的权限来完成此操作吗?我目前以系统用户身份登录。
CREATE USER "USER_A" IDENTIFIED BY "test123";
如果您想直接将权限授予用户
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