Иногда, создателю таблицы хочется, чтобы другие Пользователи могли получить привилегии в его таблице. Обычно это делается в системах, где один или более людей создают несколько (или все) базовые таблицы в базе данных, а затем передают ответственность за них тем, кто будет фактически с ними работать. 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 во всех привилегиях для данной таблицы будет иметь всю полноту власти в той таблице. |