W MariaDB, CURRENT_ROLE() to wbudowana funkcja, która zwraca nazwę bieżącej roli. Obecna rola określa Twoje uprawnienia dostępu.
Dane wyjściowe SELECT CURRENT_ROLE jest odpowiednikiem zawartości information_schema.ENABLED_ROLES tabela.
Składnia
Funkcję można wywołać z nawiasami lub bez:
CURRENT_ROLE
CURRENT_ROLE() Żadne argumenty nie są wymagane ani akceptowane.
Przykład
Oto przykład do zademonstrowania:
SELECT CURRENT_ROLE(); Wynik:
+----------------+ | CURRENT_ROLE() | +----------------+ | NULL | +----------------+
W moim przypadku nie ma aktualnej roli, więc NULL jest zwracany.
Dodajmy aktualną rolę:
SET ROLE analyst; I uruchom go ponownie:
SELECT CURRENT_ROLE(); Wynik:
+----------------+ | CURRENT_ROLE() | +----------------+ | analyst | +----------------+
Teraz rola, którą dodaliśmy, jest rolą obecną.
Ten przykład zakłada, że rola została wcześniej utworzona.
Bez nawiasów
Jak wspomniano, CURRENT_ROLE() funkcja może być wywołana z nawiasami lub bez.
Oto przykład bez nawiasów:
SELECT CURRENT_ROLE; Wynik:
+--------------+ | CURRENT_ROLE | +--------------+ | analyst | +--------------+
Żadne argumenty nie są akceptowane
Przekazywanie dowolnych argumentów do CURRENT_ROLE() powoduje błąd:
SELECT CURRENT_ROLE(1); Wynik:
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