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

Отзыв привилегий объектного уровня

Отзыв привилегий объектного уровняВ стандарте SQL:2003 не существует различий между привилегиями системного и объектного уровней; в нем определен только один синтаксис. В конкретных реализациях СУБД ситуация усложняется. В случае отзыва привилегий объектного уровня инструкция REVOKE может быть достаточно сложной. Информация, изложенная в настоящей книге, охватывает лишь основы реализаций данной операции в разных СУБД; более подробные сведения можно получить в соответствующей документации. Синтаксис Oracle 11g отзыва объектных привилегий практически соответствует стандарту, за исключением дополнительных необязательных предложений, таких как JAVA и DIRECTORY (в целях упрощения синтаксиса они опускаются). Объектной привилегией может быть любая, перечисленная в табл. 12.3 (если она уместна для объекта). В предложении COLUMN определяется столбец (или список столбцов), для которого применяется инструкция. Объектом, для которого отзывается привилегия, может быть любой объект базы данных. Привилегия может быть отозвана у пользователя, роли или категории PUBLIC. Пользователь, у которого отозвана привилегия, не сможет ею воспользоваться сразу же после выполнения инструкции. Если привилегия отзывается у роли, все пользователи, принадлежащие данной роли, немедленно теряют данную привилегию. Привилегия, отзываемая у категории PUBLIC, становится недоступной всем пользователям, которым была назначена с помощью данной категории. Однако если пользователь получил привилегию непосредственно или с помощью роли, инструкция отзыва не будет иметь эффекта. Следующая инструкция отзывает привилегии INSERT, DELETE и UPDATE для столбцов CUST_PAYTERMSID_FN и CUST_SALESMAN_ID таблицы CUSTOMER у категории PUBLIC (предполагается, что они были ранее назначены). Все зависимые объекты (к примеру, представления, созданные пользователем, который утратил привилегию доступа к соответствующим таблицам) становятся недоступными.

Предложение CASCADE CONSTRAINTS уместно только в случае отзыва привилегий REFERENCES или ALL. При этом очищаются все ограничения ссылочной целостности, определенные пользователем, который пользуется данной привилегией.