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

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

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

Пример.

create level L10 = 10;

Примечание

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

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

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

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

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

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

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

Примеры.

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