0

我正在尝试使用 where 子句授予用户更新特定列的权限。根据我所学到的,为了使用 where once 必须具有 SELECT 权限进行更新。这就是我所拥有的,我知道语法是错误的,所以你能告诉我正确的语法或在哪里可以找到它吗?

grant  select, update on
fullname, address where empid>5 to updateruser;

然后我在 myemployee 上尝试了这个 grant select, update (empid, fullname) 到 updateruser where empid>105;

4

1 回答 1

2

这是不可能的。虽然你可以在你的桌子上创建一个视图:

create view table_view as select fullname, address from base_table where empid > 5;

然后授予对此视图的访问权限:

grant select, update on table_view to updateuser;

这应该可以工作,因为这样简单的视图可以在 oracle 中更新。

于 2012-12-08T18:00:29.110 回答