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