Предложение GRANT
Предоставление привилегий осуществляется с помощью предложения GRANT (предоставить). Общий формат этого предложения:
GRANT привилегии [ON тип — объектов объекты] ТО пользователи;
где «привилегии» — список, состоящий из одной или более привилегий, разделенных запятыми, либо фраза ALL PRIVILEGES (все привилегии); «пользователи» — это список, включающий один или более идентификаторов санкционирования, разделенных запятыми, либо специальное ключевое слово PUBLIC (общедоступный); «объекты» — это список имен одного или более объектов одного и того же типа, разделенных запятыми; наконец, «тип — объектов» указывает тип этого объекта или этих объектов. Фраза ON не используется, если предоставляемые привилегии являются системными.
Приведем несколько примеров.
Привилегии на таблицы
GRANT SELECT ON TABLE S TO ЧАРЛИ;
GRANT SELECT, UPDATE (СОСТОЯНИЕ, ГОРОД) ON TABLE S
TO ДЖУДИ, ДЖЕК, ДЖОН;
GRANT ALL PRIVILEGES ON TABLE S, P, SP TO УОЛТ, ТЕД;
GRANT SELECT ON TABLE P TO PUBLIC;
GRANT DELETE ON S TO ФИЛ;
Примечание. Если «тип—объектов»—TABLE (таблица), его можно опустить, как показано в последнем примере.
Привилегии на планы:
GRANT EXECUTE ON PLAN ПЛАН1 TO ДЖУДИ;
Привилегии на базу данных:
GRANT CREATETAB ON DATABASE DBX TO ШАРОН;
Пользователю Шарону разрешается создавать таблицы в базе данных DBX. Организация баз данных в системе DB2 обсуждается в главе 13.
Привилегии на использование:
GRANT USE ON TABLESPACE TSE TO КОЛИН;
Пользователю Колину разрешается использовать табличное пространство TSE для хранения любых таблиц, которые он может создавать. Более подробную информацию по этому вопросу также можно найти в главе 13.
Системные привилегии:
GRANT CREATEDBC ТО ЖАК, МАРИАН;
Пользователям Жаку и Мариан разрешается создавать новые базы данных. Если они будут это делать, то автоматически получат привилегию DBCTRL на эти базы данных (см. в конце данного раздела).
Здесь не ставилась задача в полной мере и исчерпывающим образом рассмотреть все множество привилегий, которые признает система DB2. Однако будут полностью рассмотрены привилегии на таблицы, поскольку они, вероятно, представляют наиболее широкий интерес. К таблицам (как к базовым таблицам, так и к представлениям) относятся следующие привилегии: