username()
Получение имени текущего пользователя.
Имя пользователя (char(66)), который вызвал процедуру.
1. Создание процедуры CurUser, владельцем которой является пользователь SYSTEM.
username SYSTEM/MANAGER create or replace procedure CurUser() result varchar(128) code return "Текущий пользователь: " + trim(USERNAME()); end;
2. Выполнение процедуры.
execute CurUser(); Результат: Текущий пользователь: SYSTEM
3. Создание пользователя TESTER и предоставление ему прав на выполнение процедуры SYSTEM.CurUser().
create or replace user TESTER identified by '12345'; grant execute on CurUser to TESTER;
4. Установка нового текущего пользователя соединения с СУБД.
username TESTER/12345
5. Вызов на выполнение процедуры SYSTEM.CurUser пользователем TESTER.
execute SYSTEM.CurUser(); Результат: Текущий пользователь: TESTER
Примечание. Функция процедурного языка username() идентична псевдостолбцу USER языка SQL.
username SYSTEM/MANAGER create or replace procedure SelCurUser() result varchar(128) declare var usr char(66); code execute "select user;" into usr; return usr; end; execute SelCurUser(); Результат: SYSTEM