REVOKE
Описание
REVOKE удаляет привилегии доступа к объектам базы данных пользователей или других объектов базы данных. Привилегии это операции, для которых пользователь имеет полномочия. Следующая таблица определяет SQL привилегии:
Привилегия | Удаляет привилегию пользователя для... |
---|---|
ALL |
Выполнять SELECT, DELETE, INSERT, UPDATE и EXECUTE. |
SELECT |
Получать строки из таблицы или вида. |
DELETE |
Устранять строки из таблицы или вида. |
INSERT |
Сохранять новые строки в таблицу или вид. |
UPDATE |
Изменять текущие значения в одном или большем количестве столбцов в таблице или виде. Может быть ограниченно определенным подмножеством столбцов. |
EXECUTE |
Выполнять сохраненные процедуры. |
GRANT OPTION FOR удаляет, для пользователь перечисленных справа, возможность предоставлять (GRANT) привилегии другим пользователям.
Следующие ограничения должны быть отмечены для REVOKE:
- Только пользователь, который предоставил привилегию, может отменить эту привилегию.
- Конкретному пользователю могут быть назначены те же привилегии на объекты базы данных любым количеством других пользователей. REVOKE исполненный пользователем удаляет только те привилегии, которые назначенные этим конкретным пользователем.
- Привилегии, предоставленные всем пользователям с помощью PUBLIC, могут быть удалены только удалением привилегий для PUBLIC.
Синтаксис
REVOKE [GRANT OPTION FOR]{ {ALL [PRIVILEGES] | SELECT | DELETE | INSERT | UPDATE [(col [, col ...])]} ON [TABLE] {tablename | viewname} FROM {<object> | <userlist>} | EXECUTE ON PROCEDURE procname FROM {<object> | <userlist>} }; <object> = PROCEDURE procname | TRIGGER trigname | VIEW viewname | [USER] username | PUBLIC [, <object>] <userlist> = [USER] username [, [USER] username ...]
Аргумент | Описание |
---|---|
GRANT OPTION FOR |
Удаляет полномочие предоставлять привилегии, перечисленные в инструкции REVOKE, для пользователей <userlist>. Не может быть использовано с <object>. |
col |
Столбец, для которого предоставленные привилегии применяются. |
tablename |
Имя существующей таблицы, для которой предоставленные привилегии применяются. |
viewname |
Имя существующего вида, для которого предоставленные привилегии применяются. |
<object> |
Имя пользователя или существующего объекта базы данных, чьи привилегии будут удалены. |
<userlist> |
Список пользователей, чьи привилегии будут удалены. |
Примеры
Следующая инструкция отнимает привилегию SELECT на таблицу от пользователя:
REVOKE SELECT ON COUNTRY FROM MIREILLE;
Следующая инструкция забирает привилегию EXECUTE на процедуру от другой процедуры и пользователя:
REVOKE EXECUTE ON PROCEDURE GET_EMP_PROJ FROM PROCEDURE ADD_EMP_PROJ, LUIS;