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