I MariaDB, CURRENT_ROLE() er en indbygget funktion, der returnerer det aktuelle rollenavn. Den aktuelle rolle bestemmer dine adgangsrettigheder.
Outputtet af SELECT CURRENT_ROLE svarer til indholdet af information_schema.ENABLED_ROLES tabel.
Syntaks
Funktionen kan kaldes med eller uden parentes:
CURRENT_ROLE
CURRENT_ROLE() Ingen argumenter er påkrævet eller accepteret.
Eksempel
Her er et eksempel til demonstration:
SELECT CURRENT_ROLE(); Resultat:
+----------------+ | CURRENT_ROLE() | +----------------+ | NULL | +----------------+
I mit tilfælde er der ingen aktuel rolle og så NULL er returneret.
Lad os tilføje en aktuel rolle:
SET ROLE analyst; Og kør det igen:
SELECT CURRENT_ROLE(); Resultat:
+----------------+ | CURRENT_ROLE() | +----------------+ | analyst | +----------------+
Nu er den rolle, vi tilføjede, den nuværende rolle.
Dette eksempel forudsætter, at rollen tidligere er blevet oprettet.
Uden parenteser
Som nævnt er CURRENT_ROLE() funktion kan kaldes med eller uden parentes.
Her er et eksempel uden parentes:
SELECT CURRENT_ROLE; Resultat:
+--------------+ | CURRENT_ROLE | +--------------+ | analyst | +--------------+
Ingen argumenter accepteres
Sender eventuelle argumenter til CURRENT_ROLE() resulterer i en fejl:
SELECT CURRENT_ROLE(1); Resultat:
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