Перейти к основному содержимому
Версия: 2.0.x

EXECUTE AS

Используйте привилегию IMPERSONATE с командами EXECUTE AS для переключения контекста выполнения текущей сессии на пользователя, которого вы имитируете.

Эта команда поддерживается начиная с версии v1.5.2.

Синтаксис

EXECUTE AS user WITH NO REVERT

Параметры

user: Пользователь должен уже существовать.

Примечания по использованию

  • Текущий пользователь входа (который вызывает команду EXECUTE AS) должен иметь привилегию имитации другого пользователя. Для получения дополнительной информации см. GRANT.
  • Команда EXECUTE AS должна содержать предложение WITH NO REVERT, что означает, что контекст выполнения текущей сессии не может быть переключен обратно на исходного пользователя входа до завершения текущей сессии.

Примеры

Переключить контекст выполнения текущей сессии на пользователя test2.

EXECUTE AS test2 WITH NO REVERT;

После успешного переключения вы можете выполнить команду select current_user(), чтобы получить текущего пользователя.

select current_user();
+-----------------------------+
| CURRENT_USER() |
+-----------------------------+
| 'default_cluster:test2'@'%' |
+-----------------------------+