В настоящее время я имею дело с некоторыми параметрами GRANT
с использованием Oracle Database Express Edition 11g. Рассмотрим следующий пример небольшой код, где некоторые пользователи предоставить некоторые привилегии другим пользователям:Отменить привилегии в Oracle
-- User A
GRANT Select, Insert, Update, Delete ON T TO B,C WITH GRANT OPTION ;
-- User B
GRANT Select ON T TO C WITH GRANT OPTION ;
GRANT Insert ON T TO C ;
-- USer C
GRANT Select, Insert, Update ON T TO D ;
Пользователь A является создателем таблицы Т и выполняет следующую операцию REVOKE
.
Сейчас REVOKE Update ON T FROM C
Выполняется. Так как ограничение не указано, операция REVOKE
должна либо отменяться, поскольку в противном случае была бы отказана UPDATE
привилегия в D
или удалить привилегии как C
, так и D
.
Теперь мой вопрос: действительно ли заявление REVOKE
отменяет или удаляет как C
, так и D
привилегии? Или, другими словами, является результатом после выполнения этого отзыва отзыва, что и C
, и D
все еще имеют привилегию UPDATE
или нет?
Заранее спасибо.
Кто выполняет REVOKE? – jarlh
Пользователь A выполняет его. А также является создателем T, я обновил вопрос соответствующим образом. –
Ключевое слово RESTRICT недопустимо для синтаксиса базы данных Oracle. –