MariaDB
 sql >> Base de données >  >> RDS >> MariaDB

MariaDB CURRENT_ROLE() expliqué

Dans MariaDB, CURRENT_ROLE() est une fonction intégrée qui renvoie le nom du rôle actuel. Le rôle actuel détermine vos privilèges d'accès.

La sortie de SELECT CURRENT_ROLE est équivalent au contenu du information_schema.ENABLED_ROLES tableau.

Syntaxe

La fonction peut être appelée avec ou sans les parenthèses :

CURRENT_ROLE
CURRENT_ROLE()

Aucun argument n'est requis ou accepté.

Exemple

Voici un exemple pour illustrer :

SELECT CURRENT_ROLE();

Résultat :

+----------------+
| CURRENT_ROLE() |
+----------------+
| NULL           |
+----------------+

Dans mon cas, il n'y a pas de rôle actuel et donc NULL est renvoyé.

Ajoutons un rôle actuel :

SET ROLE analyst;

Et exécutez-le à nouveau :

SELECT CURRENT_ROLE();

Résultat :

+----------------+
| CURRENT_ROLE() |
+----------------+
| analyst        |
+----------------+

Maintenant, le rôle que nous avons ajouté est le rôle actuel.

Cet exemple suppose que le rôle a déjà été créé.

Sans parenthèses

Comme mentionné, le CURRENT_ROLE() La fonction peut être appelée avec ou sans parenthèses.

Voici un exemple sans parenthèses :

SELECT CURRENT_ROLE;

Résultat :

+--------------+
| CURRENT_ROLE |
+--------------+
| analyst      |
+--------------+

Aucun argument n'est accepté

Passer tous les arguments à CURRENT_ROLE() génère une erreur :

SELECT CURRENT_ROLE(1);

Résultat :

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