En MariaDB, CURRENT_ROLE()
es una función integrada que devuelve el nombre del rol actual. El rol actual determina sus privilegios de acceso.
La salida de SELECT CURRENT_ROLE
es equivalente al contenido de information_schema.ENABLED_ROLES
mesa.
Sintaxis
La función se puede llamar con o sin paréntesis:
CURRENT_ROLE
CURRENT_ROLE()
No se requieren ni se aceptan argumentos.
Ejemplo
Aquí hay un ejemplo para demostrarlo:
SELECT CURRENT_ROLE();
Resultado:
+----------------+ | CURRENT_ROLE() | +----------------+ | NULL | +----------------+
En mi caso, no hay un rol actual, por lo que NULL
es devuelto.
Agreguemos un rol actual:
SET ROLE analyst;
Y ejecutarlo de nuevo:
SELECT CURRENT_ROLE();
Resultado:
+----------------+ | CURRENT_ROLE() | +----------------+ | analyst | +----------------+
Ahora, el rol que agregamos es el rol actual.
Este ejemplo asume que el rol ha sido creado previamente.
Sin paréntesis
Como se mencionó, el CURRENT_ROLE()
La función se puede llamar con o sin paréntesis.
Aquí hay un ejemplo sin paréntesis:
SELECT CURRENT_ROLE;
Resultado:
+--------------+ | CURRENT_ROLE | +--------------+ | analyst | +--------------+
No se aceptan argumentos
Pasar cualquier argumento a CURRENT_ROLE()
da como resultado un error:
SELECT CURRENT_ROLE(1);
Resultado:
ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near '1)' at line 1