В 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