ПРЕДОСТАВЛЕНИЕ ПРИВЕЛЕГИЙ С ПОМОЩЬЮ WITH GRANT OPTION
Иногда, создателю таблицы хочется чтобы другие пользователи могли получить привилегии в его
таблице. Обычно это делается в системах, где один или более людей создают несколько (или все)
базовые таблицы в базе
данных а затем передают ответственность за них тем кто будет фактически с ними работать. SQL
позволяет делать это с
помощью предложения WITH GRANT OPTION. Если Diane хотела бы чтобы Adrian имел право предоставлять
привилегию
SELECT в таблице Заказчиков другим пользователям, она дала бы ему привилегию SELECT с
использованием предложения
WITH GRANT OPTION:
GRANT SELECT ON Customers TO Adrian WITH GRANT OPTION;
После того Adrian получил право
передавать привилегию SELECT третьим лицам; он может выдать команду
GRANT SELECT ON Diane.Customers TO Stephen;
или даже
GRANT SELECT ON Diane.Customers TO Stephen WITH GRANT OPTION;
Пользователь с помощью GRANT OPTION
в особой привилегии для данной таблицы, может, в свою очередь, предоставить эту привилегию к
той же таблице, с или без
GRANT OPTION, любому другому пользователю. Это не меняет принадлежности самой таблицы; как и
прежде таблица
принадлежат ее создателю. ( поэтому пользователи получившие права, должны устанавливать
префикс ID доступа
владельца когда ссылаются к этим таблицам. Следующая глава покажет вам этот способ. )
Пользователь же с помощью
GRANT OPTION во всех привилегиях для данной таблицы будет иметь всю полноту власти в той
таблице.