MariaDB
 sql >> Database >  >> RDS >> MariaDB

Spiegazione di MariaDB CURRENT_ROLE()

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