Перейти к основному содержимому
Версия: 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'@'%' |
+-----------------------------+