In MariaDB, CURRENT_ROLE()
is een ingebouwde functie die de huidige rolnaam retourneert. De huidige rol bepaalt uw toegangsrechten.
De uitvoer van SELECT CURRENT_ROLE
is gelijk aan de inhoud van de information_schema.ENABLED_ROLES
tafel.
Syntaxis
De functie kan worden aangeroepen met of zonder haakjes:
CURRENT_ROLE
CURRENT_ROLE()
Er zijn geen argumenten vereist of geaccepteerd.
Voorbeeld
Hier is een voorbeeld om te demonstreren:
SELECT CURRENT_ROLE();
Resultaat:
+----------------+ | CURRENT_ROLE() | +----------------+ | NULL | +----------------+
In mijn geval is er geen huidige rol en dus NULL
wordt geretourneerd.
Laten we een huidige rol toevoegen:
SET ROLE analyst;
En voer het opnieuw uit:
SELECT CURRENT_ROLE();
Resultaat:
+----------------+ | CURRENT_ROLE() | +----------------+ | analyst | +----------------+
De rol die we hebben toegevoegd, is de huidige rol.
In dit voorbeeld wordt ervan uitgegaan dat de rol eerder is aangemaakt.
Zonder haakjes
Zoals gezegd, de CURRENT_ROLE()
functie kan worden aangeroepen met of zonder haakjes.
Hier is een voorbeeld zonder haakjes:
SELECT CURRENT_ROLE;
Resultaat:
+--------------+ | CURRENT_ROLE | +--------------+ | analyst | +--------------+
Er worden geen argumenten geaccepteerd
Argumenten doorgeven aan CURRENT_ROLE()
resulteert in een fout:
SELECT CURRENT_ROLE(1);
Resultaat:
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