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