В базе данных Oracle, каковы различия между следующими:
Являются ли эти значения также возможными связанными значениями с тем, кем является «текущий пользователь»?
Меня особенно интересуют, какие из них могут изменяться, что может их изменять, какие не могут изменять значение , какие из них имеют разные значения в зависимости от типа подключения, и какие из них всегда являются схемой, используемой для входа в базу данных.
В большинстве моих тестов значения всегда одинаковы. Единственным исключением может быть выполнение следующего для изменения 'CURRENT_SCHEMA':
alter session set current_schema=<SCHEMA>
Выполнение следующих действий приводит к ошибке:
alter session set current_user=<USER> --even as sys/system, which is good I suppose
Таким образом, для всего этого существует своего рода безопасность/правила. Однако должна быть какая-то причина наличия SESSION_USER и CURRENT_USER. Я также предполагаю, что user() может быть ярлыком для sys_context('USERENV', 'CURRENT_USER'), но я не смог найти документации по этому вопросу.