Галерея
7757 8119 8300 8698 8817 9504 9722 9937
Интересные записи
Новое на сайте
Топовые новости
Новое

Отзыв привилегий

Отзыв привилегийИнструкция REVOKE отзывает привилегии либо системного, либо объектного уровня у пользователя базы данных, роли или группы. Ниже приведен синтаксис отзыва системных привилегий согласно стандарта SQL:2003. Так можно отозвать привилегии или возможность предоставления привилегий у пользователя или роли — в последнем случае сами привилегии останутся нетронутыми. В SQL:2003 определено два предложения: RESTRICT и CASCADE. В первом случае инструкция отзыва привилегий завершается успешно только тогда, когда в базе данных не существует запрещенных привилегий. Такая ситуация может возникнуть, когда пользователь назначил данную привилегию другим пользователям. Если требуется отзыв привилегии и распространение этой команды на всех пользователей, получивших ее от данного пользователя, следует использовать предложение CASCADE. Оба этих предложения необязательны во всех трех ведущих СУБД, однако стандарт SQL:2003 требует указания хотя бы одного из них. Каждый из производителей СУБД имеет собственные особенности реализации этой операции. Синтаксис Oracle 11 g следует стандарту SQL99, однако не поддерживает предложения CASCADE и RESTRICT. В нем также не допускается отзыв привилегий GRANT/ADMIN OPTION. Естественно, отзыв системных привилегий и ролей требует достаточных прав у пользователя, выполняющего запрос, или хотя бы привилегии ADMIN OPTION Приведенный выше пример позволяет отозвать только те привилегии и роли, которые были назначены с помощью инструкции grant. Если привилегия была назначена с помощью параметра инициализации os_users, ее невозможно отозвать с помощью инструкции REVOKE. Системную привилегию CREATE TABLE можно отозвать у пользователя NEW_USER с помощью следующей инструкции.