Предоставление привилегий

Предоставление привилегии выполняется оператором GRANT, схема которого приведена на рисунке 1.

Схема оператора GRANT
Рисунок 1. Схема оператора GRANT

Общие правила:

  • ALL равнозначно списку, включающему все привилегии для таблицы (SELECT+INSERT+DELETE+UPDATE+ALTER+INDEX+REFERENCES);

  • если в команде предоставления привилегий на указанную таблицу вместо списка пользователей указано PUBLIC, то всем пользователям (существующим и будущим) будут предоставлены указанные привилегии;

  • вторая форма оператора GRANT предназначена как для создания нового пользователя с определением его категории, так и для изменений категории существующего пользователя;

  • списки субъектов и их паролей могут различаться по числу элементов. При этом список субъектов должен быть не короче списка паролей. Соответствие «пользователь-пароль» производится слева направо. Пользователи, оставшиеся без соответствия, получат «пустой» пароль: GRANT CONNECT TO U; равнозначно GRANT CONNECT TO U IDENTIFIED BY '';

  • строковый пароль может содержать до 18 символов;

  • привилегии могут передаваться только владельцем указанной таблицы/представления;

  • вводить нового пользователя (с определением его категории) может только администратор (категория DBA).