V MariaDB, CURRENT_ROLE()
je vestavěná funkce, která vrací název aktuální role. Aktuální role určuje vaše přístupová oprávnění.
Výstup SELECT CURRENT_ROLE
je ekvivalentní obsahu information_schema.ENABLED_ROLES
tabulka.
Syntaxe
Funkci lze volat se závorkami nebo bez nich:
CURRENT_ROLE
CURRENT_ROLE()
Nejsou vyžadovány ani přijímány žádné argumenty.
Příklad
Zde je příklad k demonstraci:
SELECT CURRENT_ROLE();
Výsledek:
+----------------+ | CURRENT_ROLE() | +----------------+ | NULL | +----------------+
V mém případě neexistuje žádná aktuální role, a proto NULL
je vráceno.
Pojďme přidat aktuální roli:
SET ROLE analyst;
A spusťte to znovu:
SELECT CURRENT_ROLE();
Výsledek:
+----------------+ | CURRENT_ROLE() | +----------------+ | analyst | +----------------+
Nyní, role, kterou jsme přidali, je aktuální role.
Tento příklad předpokládá, že role byla dříve vytvořena.
Bez závorek
Jak již bylo zmíněno, CURRENT_ROLE()
funkci lze volat se závorkami nebo bez nich.
Zde je příklad bez závorek:
SELECT CURRENT_ROLE;
Výsledek:
+--------------+ | CURRENT_ROLE | +--------------+ | analyst | +--------------+
Nepřijímáme žádné argumenty
Předání jakýchkoli argumentů do CURRENT_ROLE()
výsledkem je chyba:
SELECT CURRENT_ROLE(1);
Výsledek:
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