In MariaDB, CURRENT_ROLE() è una funzione incorporata che restituisce il nome del ruolo corrente. Il ruolo attuale determina i tuoi privilegi di accesso.
L'output di SELECT CURRENT_ROLE è equivalente al contenuto dello information_schema.ENABLED_ROLES tabella.
Sintassi
La funzione può essere chiamata con o senza parentesi:
CURRENT_ROLE
CURRENT_ROLE() Nessun argomento è richiesto o accettato.
Esempio
Ecco un esempio da dimostrare:
SELECT CURRENT_ROLE(); Risultato:
+----------------+ | CURRENT_ROLE() | +----------------+ | NULL | +----------------+
Nel mio caso, non esiste un ruolo corrente e quindi NULL viene restituito.
Aggiungiamo un ruolo attuale:
SET ROLE analyst; Ed eseguilo di nuovo:
SELECT CURRENT_ROLE(); Risultato:
+----------------+ | CURRENT_ROLE() | +----------------+ | analyst | +----------------+
Ora, il ruolo che abbiamo aggiunto è il ruolo attuale.
Questo esempio presuppone che il ruolo sia stato creato in precedenza.
Senza parentesi
Come accennato, il CURRENT_ROLE() la funzione può essere chiamata con o senza parentesi.
Ecco un esempio senza parentesi:
SELECT CURRENT_ROLE; Risultato:
+--------------+ | CURRENT_ROLE | +--------------+ | analyst | +--------------+
Nessun argomento è accettato
Passando qualsiasi argomento a CURRENT_ROLE() restituisce un errore:
SELECT CURRENT_ROLE(1); Risultato:
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