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