Delphi 3 и создание приложений баз данных

       

Ликвидация привилегий


Ликвидация ранее выданных пользователю привилегий осуществляется при помощи оператора REVOKE. Его формат:

REVOKE [GRANT OPTION FOR]{

{ALL [PRIVILEGES] | SELECT | DELETE | INSERT

I UPDATE [(столбец [.столбец ...])]}

ON [TABLE] {ИмяТаблицы | ИмяПросмотра}

FROM {<объект> | <список пользователей>}

I EXECUTE ON PROCEDURE ИмяПроцедуры

FROM {<объект> | < список_пользователей >}

};

где все параметры идентичны по содержанию параметрам оператора GRANT, за исключением параметра

GRANT OPTION FOR -

удаляет право выдачи привилегий у пользователей из <списка_пользователей>. При этом <объект> не указывается.

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

GRANT ALL ON RASHOD TO DIMA

REVOKE INSERT ON RASHOD FROM DIMA

После выполнения REVOKE пользователь DIMA будет обладать правами изменения (UPDATE), удаления (DELETE) и выборки данных (SELECT) из таблицы RASHOD.

Лишение пользователя права назначать привилегии другим пользователям ведет к утрате данной привилегии всеми пользователями, которым он успел ее назначить. Привилегии, установленные для всех пользователей (PUBLIC), отнимаются также у всех пользователей (PUBLIC).



Содержание раздела