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