Управление уровнем доступа пользователей

Для управления уровнями доступа пользователей создателем БД используются следующие запросы:

Создание уровня
 
< создание уровня >::=
CREATE [IF NOT EXISTS] LEVEL имя уровня = номер уровня
< имя уровня >::=
идентификатор
< номер уровня >::=
целочисленный литерал в диапазоне [1-10]

Пример.

create level L10 = 10;

Примечание

Номер уровня можно использовать в качестве идентификатора при определении доступа, например, AA#10#2#3.

Переименование уровня
 
< переименование уровня >::=

Выполнение данного запроса доступно только создателю БД.

Назначение уровня доступа пользователю
 

Назначение уровня доступа пользователю возможно через команду определения пользователя либо команду модификации определения пользователя с помощью дополнительной конструкции LEVEL (< RAL >,< WAL >):

< назначение уровня доступа пользователю >::=
CREATE USER < имя пользователя > IDENTIFIED BY '< пароль >'
LEVEL (< RAL-уровень >, < WAL-уровень >);
< назначение уровня доступа пользователю >::=
ALTER USER < имя пользователя >
LEVEL (< RAL-уровень >, < WAL-уровень >);

Произвольные уровни доступа может назначать/изменять только создатель БД, прочие пользователи БД могут назначать/изменять уровни доступа в пределах назначенных им уровней.

Примеры.

create user a identified by '12345678'
level("СОВ.СЕКРЕТНО","ДЛЯ СЛ.ПОЛЬЗОВАНИЯ");
alter user b level("СОВ.СЕКРЕТНО","ДЛЯ СЛ.ПОЛЬЗОВАНИЯ");