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