Определение имени текущего пользователя
Синтаксис
username()
Описание
Получение имени текущего пользователя.
Возвращаемое значение
Имя пользователя (char(66)), который вызвал процедуру.
Пример
1) Создание процедуры CurUser, владельцем которой является пользователь SYSTEM. username SYSTEM/MANAGER8 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 '12345678'; grant execute on CurUser to TESTER; 4) Установка нового текущего пользователя соединения с СУБД. username TESTER/12345678 5) Вызов на выполнение процедуры SYSTEM.CurUser пользователем TESTER. execute SYSTEM.CurUser(); Результат: Текущий пользователь: TESTER Примечание. Функция процедурного языка username() идентична псевдостолбцу USER языка SQL. username SYSTEM/MANAGER8 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