In MariaDB, CURRENT_ROLE()
ist eine integrierte Funktion, die den aktuellen Rollennamen zurückgibt. Die aktuelle Rolle bestimmt Ihre Zugriffsrechte.
Die Ausgabe von SELECT CURRENT_ROLE
entspricht dem Inhalt von information_schema.ENABLED_ROLES
Tabelle.
Syntax
Die Funktion kann mit oder ohne die Klammern aufgerufen werden:
CURRENT_ROLE
CURRENT_ROLE()
Es sind keine Argumente erforderlich oder akzeptiert.
Beispiel
Hier ist ein Beispiel zur Veranschaulichung:
SELECT CURRENT_ROLE();
Ergebnis:
+----------------+ | CURRENT_ROLE() | +----------------+ | NULL | +----------------+
In meinem Fall gibt es keine aktuelle Rolle und daher NULL
zurückgegeben wird.
Lassen Sie uns eine aktuelle Rolle hinzufügen:
SET ROLE analyst;
Und erneut ausführen:
SELECT CURRENT_ROLE();
Ergebnis:
+----------------+ | CURRENT_ROLE() | +----------------+ | analyst | +----------------+
Jetzt ist die Rolle, die wir hinzugefügt haben, die aktuelle Rolle.
Dieses Beispiel geht davon aus, dass die Rolle zuvor erstellt wurde.
Ohne Klammern
Wie bereits erwähnt, die CURRENT_ROLE()
Die Funktion kann mit oder ohne Klammern aufgerufen werden.
Hier ist ein Beispiel ohne Klammern:
SELECT CURRENT_ROLE;
Ergebnis:
+--------------+ | CURRENT_ROLE | +--------------+ | analyst | +--------------+
Es werden keine Argumente akzeptiert
Übergeben aller Argumente an CURRENT_ROLE()
führt zu einem Fehler:
SELECT CURRENT_ROLE(1);
Ergebnis:
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