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

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

Создание уровня
 
<​создание уровня​>::=
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("СОВ.СЕКРЕТНО","ДЛЯ СЛ.ПОЛЬЗОВАНИЯ");