MariaDB
 sql >> Baza danych >  >> RDS >> MariaDB

MariaDB CURRENT_ROLE () Wyjaśnione

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

  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. MariaDB SESSION_USER() Objaśnienie

  2. MariaDB JSON_CONTAINS() Objaśnienie

  3. Eksplorowanie opcji silnika pamięci masowej dla MariaDB

  4. MariaDB ROUND() kontra PODŁOGA()

  5. Jak działa YEARWEEK() w MariaDB