我从名为products
的用户创建了一个名为john
的表。我希望一个名为doe
的用户有权查看该表,另一个名为lorem
的用户可以在此表中删除,插入,选择和更新。我怎样才能做到这一点?我需要设置哪些角色和权限?
CREATE VIEW view_products
as
SELECT * FROM products;
这是对的吗?
答案 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;