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