I MariaDB, CURRENT_ROLE()
är en inbyggd funktion som returnerar det aktuella rollnamnet. Den aktuella rollen avgör dina åtkomstbehörigheter.
Utdata från SELECT CURRENT_ROLE
motsvarar innehållet i information_schema.ENABLED_ROLES
bord.
Syntax
Funktionen kan anropas med eller utan parentes:
CURRENT_ROLE
CURRENT_ROLE()
Inga argument krävs eller accepteras.
Exempel
Här är ett exempel att visa:
SELECT CURRENT_ROLE();
Resultat:
+----------------+ | CURRENT_ROLE() | +----------------+ | NULL | +----------------+
I mitt fall finns det ingen aktuell roll och så NULL
returneras.
Låt oss lägga till en aktuell roll:
SET ROLE analyst;
Och kör det igen:
SELECT CURRENT_ROLE();
Resultat:
+----------------+ | CURRENT_ROLE() | +----------------+ | analyst | +----------------+
Nu är rollen vi lagt till den nuvarande rollen.
Det här exemplet förutsätter att rollen har skapats tidigare.
Utan parentes
Som nämnts, CURRENT_ROLE()
funktion kan anropas med eller utan parentes.
Här är ett exempel utan parentes:
SELECT CURRENT_ROLE;
Resultat:
+--------------+ | CURRENT_ROLE | +--------------+ | analyst | +--------------+
Inga argument accepteras
Skickar eventuella argument till CURRENT_ROLE()
resulterar i ett fel:
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