sql >> Base de Datos >  >> RDS >> MariaDB

Explicación de MariaDB CURRENT_ROLE()

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