Permite ejecutar consultas en nombre de otro usuario.
La primera forma (sin subquery) establece que todas las consultas posteriores de la sesión actual se ejecutarán en nombre del target_user especificado.
La segunda forma (con subquery) ejecuta solo la subquery especificada en nombre del target_user especificado.
Para que ambas formas funcionen, es necesario que la opción de configuración access_control_improvements.allow_impersonate_user
esté establecida en 1 y que se haya otorgado el privilegio IMPERSONATE. Por ejemplo, los siguientes comandos
permitir al usuario user2 ejecutar comandos EXECUTE AS user1 ... y también permitir al usuario user3 ejecutar comandos como cualquier usuario.
Al hacerse pasar por otro usuario, la función currentUser() devuelve el nombre de ese otro usuario,
y la función authenticatedUser() devuelve el nombre del usuario que realmente se ha autenticado.
Última modificación el 25 de junio de 2026