Недостаточно прав при обновлении

У меня недостаточно прав при обновлении таблицы в схеме B. Владельцем таблицы является схема A, но я дал разрешение на обновление для схемы B, даже тогда она выдает ошибку. Если я даю грант Select вместе с обновлением, он работает. Почему мне нужно дать выбрать грант вместе с обновлением, если я просто хочу обновить таблицу. Я использую Exadata в качестве моей серверной версии

1 ответ

Обновление работает, без необходимости предоставления выбранной провинции, как показано ниже. Я использовал Oracle для этого теста.

SQL> создать пользователя test1, идентифицированного профилем test1 по умолчанию;

Пользователь создан.

SQL> Предоставить подключение, ресурс для test1;

Грант удался.

SQL> создать пользователя test2, идентифицированного профилем test2 по умолчанию;

Пользователь создан.

SQL> Предоставить подключение, ресурс для test2;

Грант удался.

SQL> connect test1 / test1 Connected. SQL> создать таблицу abc (имя varchar2(20));

Таблица создана.

SQL> вставить в значения test1.abc ('xyz');

1 ряд создан.

SQL> commit 2;

Фиксация завершена.

SQL> select * from test1.abc 2;

НАЗВАНИЕ

хуг

SQL> предоставить обновление test1.abc для test2;

Грант удался.

SQL> connect test2 / test2 Подключено.

SQL> update test1.abc set name = 'XXYYZZ';

1 строка обновлена.

SQL> commit 2;

Фиксация завершена.

SQL> connect test1 / test1 Connected. SQL> select * from abc;

НАЗВАНИЕ

XXYYZZ

Другие вопросы по тегам