Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
лекции по бд.doc
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
4.79 Mб
Скачать

Оператор grant (InterBase) Описание

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>.