用户可以从其他用户ORACLEDB查看表

时间:2013-06-24 00:02:12

标签: sql database oracle

我从名为products的用户创建了一个名为john的表。我希望一个名为doe的用户有权查看该表,另一个名为lorem的用户可以在此表中删除,插入,选择和更新。我怎样才能做到这一点?我需要设置哪些角色和权限?

PD:有人告诉我,我必须这样做:

CREATE VIEW view_products
as
SELECT * FROM products;

这是对的吗?

1 个答案:

答案 0 :(得分:1)

您可以使用GRANT语句:

grant select, insert, update, delete on products to lorem;

grant select on products  to doe;

如果您计划允许多个不同的用户访问,那么您可能希望创建一个ROLE,将用户分配给特定角色,然后授予对角色的访问权限,而不是单个用户。这样,如果您将来添加更多用户,您只需为其分配适当的角色,而不是再次使用表权限。更易于管理。

使用视图:

CREATE VIEW view_products
as
SELECT * FROM products;


grant select, insert, update, delete on view_products to lorem;
grant select on view_products  to doe;