ОТМЕНА ПРИВИЛЕГИЙ
Также как ANSI предоставляет команду CREATE TABLE чтобы создать таблицу, а не DROP TABLE чтобы о
т
нее избавиться, так и команда GRANT позволяет вам давать привилегии пользователям, не
предоставляя способа чтобы
отобрать их обратно. Потребность удалять привилегии сводится к команде REVOKE, фактически
стандартному средству с
достаточно понятной формой записи. Синтаксис команды REVOKE - похож на GRANT, но имеет обратный
смысл. Чтобы
удалить привилегию INSERT для Adrian в таблице Порядков, вы можете ввести
REVOKE INSERT ON Orders FROM Adrian;
Использование списков привилегий и пользователей здесь допустимы как и в случае с GRANT, так
что вы можете ввести
следующую команду:
REVOKE INSERT, DELETE ON Customers FROM Adrian, Stephen;
Однако, здесь имеется некоторая
неясность. Кто имеет право отменять привилегии? Когда пользователь с правом передавать
привелегии другим, теряет это
право? Пользователи которым он предоставил эти привилегии, также их потеряют ? Так как это
не стандартная особенность,
нет никаких авторитетных ответов на эти вопросы, но наиболее общий подход - это такой: *
Привилегии отменяются
пользователем который их предоставил, и отмена будетт каскадироваться, то-есть она будет а
втоматически
распространяться на всех пользователям получивших от него эту привилегию.