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