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

Инструкция REVOKE

Инструкция REVOKE имеет две основные формы. Первая форма этой инструкции отменяет указанные права доступа к инструкциям для пользователя, группы или роли. Вторая форма этой инструкции отменяет права доступа к конкретным объектам базы данных или ресурсам.


Синтаксис SQL 2003

Общая форма синтаксиса REVOKE в SQL 2003 следующая.

REVOKE {[специальные_опции] {привилегия [, …] | роль [, …]}}

ON имя_объекта_базы_данных

FROM имя_получателя [, …]

[GRANTED BY {CURRENTJJSER | CURRENT_ROLE}]

{CASCADE | RESTRICT}


Ключевые слова

специальные опции

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

GRANT OPTION FOR

Отменяет назначенную пользователю привилегию WITH GRANT OPTION. Это означает, что пользователь более не сможет предоставлять другим пользователям права доступа к объекту, но его собственные права доступа остаются неизменными. (Это предложение можно применять для отмены привилегии, но не для отмены роли.) За дополнительной информацией обращайтесь к разделу «Инструкция GRANT».

HIERARCHY OPTION FOR

Отменяет привилегию WITH HIERARCHY OPTION, которая позволяет пользователю отбирать данные не только из указанной таблицы, но и из всех ее под-таблиц. (Это предложение можно применять для отмены привилегии, но не для отмены роли.)

ADMIN OPTION FOR

Отменяет право назначать роли другим пользователям. (Это предложение можно применять для отмены привилегии, но не для отмены роли.)

привилегия

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

ALL PRIVILEGES

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

EXECUTE

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

(SELECT | INSERT | UPDATE DELETE)

Отменяется указанная привилегия для указанного пользователя в указанном объекте базы данных, например таблице или представлении. Можно написать список столбцов таблицы (заключив его в скобки), к которым отменяются права доступа по операциям SELECT, INSERT или UPDATE.

REFERENCES

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

TRIGGER

Отменяется право пользователя создавать триггеры в указанных таблицах. В качестве побочного эффекта такой отмены удаляются все триггеры, зависящие от этой привилегии.

UNDER

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

USAGE

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

роль

Отзывается указанная, уже существующая роль, присвоенная получателю, указанному в предложении FROM. Например, администратор базы данных может создать роль с именем Reporter, которая имеет только права чтения некоторых таблиц. Когда роль присваивается пользователю, пользователь получает возможность совершать все действия, которые разрешены для этой роли. За дополнительной информацией обращайтесь к разделу «Инструкция GRANT».

ON имя_объектаБазыДанных

Отзываются права доступа к конкретному, существующему объекту базы данных, указываемому параметром имя_объектаБазыДанных. Стандарт SQL 2003 не поддерживает системные привилегии, но во многих реализациях существует вариант этого предложения, позволяющий отменять системные привилегии. (Предложение ON при отмене системных привилегий и ролей не используется вообще.) Объект с именем имя_объектаДозы Данных может представлять собой один из указанных объектов.

{[TABLE] имя_объекта | DOMAIN имя_объекта |

COLLATION имя_объекта | CHARACTER SET имя_объекта | TRANSLATION имя_объекта I

TYPE имя_объекта [SPECIFIC] {ROUTINE | FUNCTION |

PROCEDURE | METHOD} имя_объекта}

FROM имя_получателя

Указывается пользователь (пользователи) или роль (роли), которые теряют данную привилегию. Для того чтобы отозвать привилегии, назначенные глобальному списку PUBLIC, можно использовать ключевое слово PUBLIC. Можно перечислить несколько получателей через запятую.

FROM {CURRENT_USER | CURRENTJROLE)

Необязательное предложение, указывающее, кто предоставил пользователю привилегию. Например, при использовании предложения …FROM CURRENT_USER привилегия отменяется только в том случае, если ее назначил текущий пользователь. В противном случае инструкция выполнена не будет. Если предложение не указано, по умолчанию принимается CURRENTJJSER.

RESTRICT | CASCADE

Отмена затрагивает только указанную привилегию (RESTRICT), или отменяется указанная привилегия и все зависимые от нее привилегии (CASCADE). Могут быть также удалены объекты, зависимые от привилегии. Обратите внимание, что инструкция REVOKE…RESTRICT не будет выполнена, если существуют зависимые привилегии. Эти привилегии нужно сначала удалить.

Источник