Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

GRANT

Описание

GRANT устанавливает привилегии на объекты базы данных, для пользователей или других объектов базы данных. Когда объект впервые создан, только его создатель имеет привилегии на него, и только создатель может предоставить (GRANT) привилегии на него другим пользователям или объектам.

Для доступа к таблице или виду, пользователю или объекту требуются SELECT, INSERT, UPDATE или DELETE привилегии на эту таблицу или вид.

Для вызова сохраненной процедуры из приложения, пользователю или объекту требуется EXECUTE привилегия на нее.

Пользователи могут дать разрешение, предоставлять привилегии другим пользователям, обеспечивая <userlist>, который включает WITH GRANT OPTION. Пользователи могут предоставлять другим только те привилегии которые им, непосредственно, назначены.

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

Следующая таблица суммирует доступные привилегии:

Привилегия Позволяет пользователям...
ALL Выполнять SELECT, DELETE, INSERT, UPDATE и EXECUTE.
SELECT Получать строки из таблицы или вида.
DELETE Устранять строки из таблицы или вида.
INSERT Сохранять новые строки в таблицу или вид.
UPDATE Изменять текущие значения в одном или большем количестве столбцов в таблице или виде. Может быть ограниченно определенным подмножеством столбцов.
EXECUTE Выполнять сохраненные процедуры.

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

Синтаксис

GRANT{
{ALL [PRIVILEGES] | SELECT | DELETE | INSERT
  | UPDATE [(col [, col ...])]}
    ON [TABLE] {tablename | viewname}
     TO {<object> | <userlist>}
  | EXECUTE ON PROCEDURE procname
    TO {<object> | <userlist>}
  };

<object> = PROCEDURE procname | TRIGGER trigname | VIEW viewname
| [USER] username | PUBLIC [, <object>]

<userlist> = [USER] username [, [USER] username ...]
[WITH GRANT OPTION]
Аргумент Описание
col Столбцы, к которым предоставленные привилегии применяются.
tablename Имя существующей таблицы, к которой предоставленные привилегии применяются.
viewname Имя существующего вида, к которому предоставленные привилегии применяются.
<object> Имя пользователя или существующего объекта базы данных, которым привилегии будут предоставлены.
<urerlist> Список пользователей, которым привилегии будут предоставлены.
WITH GRANT OPTION Передает GRANT полномочие для привилегий, перечисленных в инструкции GRANT, пользователям, перечисленным в <urerlist>.

Примеры

Следующая инструкция предоставляет SELECT и DELETE привилегии пользователю. Опция WHITH GRANT OPTION дает пользователю GRANT полномочия:

GRANT SELECT, DELETE ON COUNTRY TO CHLOE WITH GRANT OPTION;

Следующая инструкция предоставляет EXECUTE привилегии на процедуру другим процедурам и пользователю:

GRANT EXECUTE ON PROCEDURE GET_EMP_PROJ
  TO PROCEDURE ADD_EMP_PROJ, LUIS;

Смотри так же:

Оставить комментарий

Комментарий:
можно использовать BB-коды
Максимальная длина комментария - 4000 символов.
 
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог