Позволяет выполнять запросы от имени другого пользователя.
Первая форма (без subquery) задаёт, что все последующие запросы в текущем сеансе будут выполняться от имени указанного target_user.
Вторая форма (с subquery) выполняет только указанный subquery от имени указанного target_user.
Для работы обеих форм требуется, чтобы параметр конфигурации access_control_improvements.allow_impersonate_user
был установлен в 1, а привилегия IMPERSONATE — выдана. Например, следующие команды
разрешить пользователю user2 выполнять команды EXECUTE AS user1 ..., а также разрешить пользователю user3 выполнять команды от имени любого пользователя.
При работе от имени другого пользователя функция currentUser() возвращает имя этого пользователя,
а функция authenticatedUser() возвращает имя пользователя, который фактически прошёл аутентификацию.
Последнее изменение 25 июня 2026 г.