1

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

这是桌子INVENTORY (BOOK_CODE, BRANCH_NUM, ON_HAND)

授予INVENTORYMark 更新,这是它在 pdf 中解释的唯一方法。

这是我想回答的问题。用户 Chambers 必须能够更改 2 号分店的现有书籍单位,但不能访问任何其他分店的数据。

这就是我的想法。

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

它是否正确?

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

4

3 回答 3

3

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

于 2012-11-14T15:26:20.783 回答
0

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

于 2012-11-14T15:04:47.720 回答
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;
于 2012-11-14T16:13:19.670 回答