Основы языка TRANSACT SQL. Казакова И.А. - 152 стр.

UptoLike

Составители: 

151
18.7. Отмена предоставленных пользователям
привилегий
В языке SQL для отмены привилегий, предоставленных поль-
зователям посредством оператора GRANT, используется оператор
REVOKE. С помощью этого оператора могут быть отменены все
или некоторые из привилегий, полученных указанным пользовате-
лем раньше. Оператор REVOKE имеет следующий формат:
<отмена_привилегий>::=
REVOKE [GRANT OPTION FOR]
{<привилегия>[,...n]
| ALL PRIVILEGES}
ON имя_объекта
FROM {<идентификатор_пользователя> [,...n]| PUBLIC}
[CASCADE]
[AS {имя_группы | имя_роли }];
GRANT OPTION FOR позволяет для всех привилегий, пере-
данных в исходном операторе GRANT фразой WITH GRANT
OPTION, отменять возможность их передачи независимо от самих
привилегий;
ALL PRIVILEGES означает, что для указанного пользовате-
ля отменяются все привилегии, предоставленные ему ранее тем
пользователем, который ввел данный оператор;
ON имя_объекта отменяется право доступа пользователя к
указанному объекту;
FROM {<идентификатор_пользователя> [,...n]| PUBLIC}
указываются пользователи или роли, теряющие указанную приви-
легию.
CASCADE удаляются все привилегии, которые иначе могли
бы остаться у других пользователей. Поскольку наличие привиле-
гии необходимо для создания определенных объектов, вместе с ее
удалением можно лишиться права, за счет использования которого
был образован тот или иной объект (подобные объекты называются
«брошенными»). Если в результате выполнения оператора REVOKE
могут появиться брошенные объекты (например представления),
оно будет отменено при условии, что в нем не указывается ключе-
вое слово CASCADE. Если ключевое слово CASCADE в операторе
   18.7. Отмена предоставленных пользователям
                    привилегий
     В языке SQL для отмены привилегий, предоставленных поль-
зователям посредством оператора GRANT, используется оператор
REVOKE. С помощью этого оператора могут быть отменены все
или некоторые из привилегий, полученных указанным пользовате-
лем раньше. Оператор REVOKE имеет следующий формат:
     <отмена_привилегий>::=
     REVOKE [GRANT OPTION FOR]
      {<привилегия>[,...n]
      | ALL PRIVILEGES}
     ON имя_объекта
     FROM {<идентификатор_пользователя> [,...n]| PUBLIC}
     [CASCADE]
     [AS {имя_группы | имя_роли }];
     GRANT OPTION FOR – позволяет для всех привилегий, пере-
данных в исходном операторе GRANT фразой WITH GRANT
OPTION, отменять возможность их передачи независимо от самих
привилегий;
     ALL PRIVILEGES – означает, что для указанного пользовате-
ля отменяются все привилегии, предоставленные ему ранее тем
пользователем, который ввел данный оператор;
     ON имя_объекта – отменяется право доступа пользователя к
указанному объекту;
     FROM {<идентификатор_пользователя> [,...n]| PUBLIC} –
указываются пользователи или роли, теряющие указанную приви-
легию.
      CASCADE – удаляются все привилегии, которые иначе могли
бы остаться у других пользователей. Поскольку наличие привиле-
гии необходимо для создания определенных объектов, вместе с ее
удалением можно лишиться права, за счет использования которого
был образован тот или иной объект (подобные объекты называются
«брошенными»). Если в результате выполнения оператора REVOKE
могут появиться брошенные объекты (например представления),
оно будет отменено при условии, что в нем не указывается ключе-
вое слово CASCADE. Если ключевое слово CASCADE в операторе

                             151