更新期间权限不足

时间:2017-07-06 12:06:41

标签: oracle exadata

在更新B架构中的表时,我获得的权限不足。表所有者是一个模式,但我已经给B模式提供了更新授权,即使这样也会抛出错误。如果我给予Select授权以及更新它是有效的。如果我只想更新表,为什么我需要提供select grant和update。我正在使用Exadata作为我的后端版本

1 个答案:

答案 0 :(得分:0)

更新有效,无需授予选择权限,如下所示。我在这个测试用例中使用了Oracle。

SQL>创建由test1 profile default;

标识的用户test1

用户创建。

SQL> grant connect,resource to test1;

格兰特成功了。

SQL>创建由test2 profile default;

标识的用户test2

用户创建。

SQL> grant connect,resource to test2;

格兰特成功了。

SQL>连接test1 / test1 连接的。 SQL> create table abc(name varchar2(20));

创建表。

SQL>插入test1.abc值(' xyz');

创建了一行。

SQL>承诺   2;

提交完成。

SQL>从test1.abc中选择*   2;

NAME

XYZ

SQL>将test1.abc上的更新授予test2;

格兰特成功了。

SQL>连接test2 / test2 连接。

SQL>更新test1.abc set name =' XXYYZZ' ;

更新了一行。

SQL>承诺   2;

提交完成。

SQL>连接test1 / test1 连接的。 SQL> select * from abc;

NAME

XXYYZZ