如何使用SQL grant命令限制Access数据库中的访问列和行

时间:2012-11-14 15:01:48

标签: sql grant

我是这个主题的初学者和自学。我认为这是基本的,但我在我使用的电子书中找不到它。我不知道这是否与其他人有关,因为当我搜索这个网站时,所有的问题都向我推进。所以作为一个初学者,我想再次问这个问题,因为上次我的问题被丢弃了,因为没有相关性而且研究不充分。我尽力找到一个浏览网络的答案但是没有。

这是表格INVENTORY (BOOK_CODE, BRANCH_NUM, ON_HAND)

INVENTORY的更新授予Mark,这是它在pdf中解释的唯一方式。

这是我想回答的问题。 用户分庭必须能够更改分支机构2中书籍的现有单位,但必须无法访问任何其他分支中的数据。

这就是我的想法。

GRANT UPDATE ON(ON_HAND WHERE BRANCH_NUM = ‘2’) ON BRANCH TO CHAMBERS

这是正确的吗?

如果您认为这与您的社区无关,请放弃。

3 个答案:

答案 0 :(得分:3)

我想说(在任何RDBMS上)执行此操作的最佳方法是创建要授予访问权限的列的视图,然后为该视图提供读取权限。

答案 1 :(得分:0)

我不知道任何允许在该级别定义访问权限的数据库引擎。我怀疑没有一个。这种类型的微逻辑通常由前端应用程序处理,该应用程序具有比数据库提供的更精细的安全模型。

答案 2 :(得分:0)

如Hogan所述,您需要先创建一个视图,然后根据该视图为用户分配更新权限,以便...

create view branch2_inventory as select book_code, on_hand from inventory where branch_num = 2;

grant update on branch2_inventory to chambers;