MariaDB
 sql >> база данни >  >> RDS >> MariaDB

MariaDB CURRENT_ROLE() Обяснено

В MariaDB, CURRENT_ROLE() е вградена функция, която връща текущото име на ролята. Текущата роля определя вашите права за достъп.

Резултатът от SELECT CURRENT_ROLE е еквивалентен на съдържанието на information_schema.ENABLED_ROLES таблица.

Синтаксис

Функцията може да бъде извикана със или без скоби:

CURRENT_ROLE
CURRENT_ROLE()

Не се изискват или приемат аргументи.

Пример

Ето пример за демонстрация:

SELECT CURRENT_ROLE();

Резултат:

+----------------+
| CURRENT_ROLE() |
+----------------+
| NULL           |
+----------------+

В моя случай няма текуща роля и така NULL се връща.

Нека добавим текуща роля:

SET ROLE analyst;

И го стартирайте отново:

SELECT CURRENT_ROLE();

Резултат:

+----------------+
| CURRENT_ROLE() |
+----------------+
| analyst        |
+----------------+

Сега ролята, която добавихме, е текущата роля.

Този пример предполага, че ролята е била създадена преди това.

Без скоби

Както споменахме, CURRENT_ROLE() функцията може да бъде извикана със или без скоби.

Ето пример без скоби:

SELECT CURRENT_ROLE;

Резултат:

+--------------+
| CURRENT_ROLE |
+--------------+
| analyst      |
+--------------+

Не се приемат аргументи

Подаване на всякакви аргументи към CURRENT_ROLE() води до грешка:

SELECT CURRENT_ROLE(1);

Резултат:

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. Ръководство за поточно репликация на клъстер на MySQL Galera:част втора

  2. 4 функции, които извличат микросекунди от времева стойност в MariaDB

  3. Стартиране на Vitess и MySQL с ClusterControl

  4. Как работи COS() в MariaDB

  5. Как да съкратите текст с многоточие в MariaDB