Di MariaDB, CURRENT_ROLE() adalah fungsi bawaan yang mengembalikan nama peran saat ini. Peran saat ini menentukan hak akses Anda.
Keluaran dari SELECT CURRENT_ROLE setara dengan konten information_schema.ENABLED_ROLES tabel.
Sintaks
Fungsi dapat dipanggil dengan atau tanpa tanda kurung:
CURRENT_ROLE
CURRENT_ROLE() Tidak ada argumen yang diperlukan atau diterima.
Contoh
Berikut ini contoh untuk didemonstrasikan:
SELECT CURRENT_ROLE(); Hasil:
+----------------+ | CURRENT_ROLE() | +----------------+ | NULL | +----------------+
Dalam kasus saya, tidak ada peran saat ini dan jadi NULL dikembalikan.
Mari tambahkan peran saat ini:
SET ROLE analyst; Dan jalankan lagi:
SELECT CURRENT_ROLE(); Hasil:
+----------------+ | CURRENT_ROLE() | +----------------+ | analyst | +----------------+
Sekarang, peran yang kami tambahkan adalah peran saat ini.
Contoh ini mengasumsikan bahwa peran telah dibuat sebelumnya.
Tanpa Tanda kurung
Seperti disebutkan, CURRENT_ROLE() fungsi dapat dipanggil dengan atau tanpa tanda kurung.
Berikut ini contoh tanpa tanda kurung:
SELECT CURRENT_ROLE; Hasil:
+--------------+ | CURRENT_ROLE | +--------------+ | analyst | +--------------+
Tidak Ada Argumen yang Diterima
Melewati argumen apa pun ke CURRENT_ROLE() menghasilkan kesalahan:
SELECT CURRENT_ROLE(1); Hasil:
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