Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Введение в СУБД HyTech.doc
Скачиваний:
11
Добавлен:
01.03.2025
Размер:
2.67 Mб
Скачать

Отмена права пользователю или роли

Оператор revoke отменяет привилегии, ранее переданные пользователю или роли.

Формат вызова:

revoke [grant option for] {all privileges} | {Привилегия,...}   on Объект   from public | {Пользователь,...}   [cascade | restrict];

revoke [grant option for] {Общая_привилегия,...}   from public | {Пользователь,...} [cascade | restrict];

Привилегия ::=   {all privileges |     {select | delete | insert | update | usage | trigger | index | diff | alter}   }

Объект ::=   [table] {Имя_таблицы | Имя_встроенного_представления} |   procedure Имя_процедуры |   datasource Имя_внешнего_источника_данных |   function Имя_встроенной_функции

Общая_привилегия ::=   create table |   create datasource |   create procedure |   create profile |   create user |   create role

Аргументы:

Аргумент

Значение

all privileges

Отзываются все права, которые имеет текущий пользователь для указанного объекта.

select

Отзывается право получать результаты выполнения поискового запроса по указанной таблице или встроенного представления.

delete

Отзывается право удалять записи из указанной таблицы.

update

Отзывается право изменять записи в указанной таблице.

insert

Отзывается право добавлять записи в указанную таблицу.

trigger

Отзывается право создавать, изменять или удалять триггера для указанной таблицы.

index

Отзывается право индексировать указанную таблицу.

diff

Отзывается право удалять переменную часть таблицы.

alter

Отзывается право изменять характеристики таблицы или ремонтировать ее.

usage

Отзывается право использовать указанный объект. Эта привилегия используется только для процедур, внешних источников данных и некоторых встроенных функций.

create table

Отзывается право создавать или удалять постоянные таблицы.

create role

Отзывается право создавать или удалять роли, или управлять назначением ролей.

create user

Отзывается право создавать или удалять пользователей, или изменять их характеристики.

create datasource

Отзывается право создавать или удалять источники данных, или изменять их характеристики.

create procedure

Отзывается право создавать или удалять процедуры, или изменять их характеристики.

create profile

Отзывается право создавать или удалять профили, или изменять их характеристики.

Пользователь

Имя пользователя или роли, у которых отзываются указанные права.

public

Указанные права отзываются у всех пользователей, которые их получали по имени public.

grant option for

Привилегии у пользователя остаются, однако он теряет возможность передавать полученные права другим пользователям.

cascade

При отмене привилегий у пользователя, отменяются все привилегии, которые он передавал другим пользователям.

restrict

Если при отмене привилегий у пользователя необходимо отменить переданные другим пользователям привилегии, то операция завершается с ошибкой.

Для отзыва прав у пользователей или ролей необходимо выполнение одного из условий:

  • Пользователь является администратором базы данных;

  • Пользователь передавал право, которое он отзывает.

Примеры.

Отменить пользователю USER1 право на select, insert, update в таблице TAB1.

revoke select, insert, update on TAB1 from USER1;

Отменить пользователю USER1 право на создание таблиц.

revoke create table from USER1;

Отменить пользователю USER1 все права на таблицу TAB1, которыми обладает текущий пользователь.

revoke all privileges on TAB1 from USER1;