sql >> Databasteknik >  >> RDS >> MariaDB

MariaDB CURRENT_ROLE() Förklarad

I MariaDB, CURRENT_ROLE() är en inbyggd funktion som returnerar det aktuella rollnamnet. Den aktuella rollen avgör dina åtkomstbehörigheter.

Utdata från SELECT CURRENT_ROLE motsvarar innehållet i information_schema.ENABLED_ROLES bord.

Syntax

Funktionen kan anropas med eller utan parentes:

CURRENT_ROLE
CURRENT_ROLE()

Inga argument krävs eller accepteras.

Exempel

Här är ett exempel att visa:

SELECT CURRENT_ROLE();

Resultat:

+----------------+
| CURRENT_ROLE() |
+----------------+
| NULL           |
+----------------+

I mitt fall finns det ingen aktuell roll och så NULL returneras.

Låt oss lägga till en aktuell roll:

SET ROLE analyst;

Och kör det igen:

SELECT CURRENT_ROLE();

Resultat:

+----------------+
| CURRENT_ROLE() |
+----------------+
| analyst        |
+----------------+

Nu är rollen vi lagt till den nuvarande rollen.

Det här exemplet förutsätter att rollen har skapats tidigare.

Utan parentes

Som nämnts, CURRENT_ROLE() funktion kan anropas med eller utan parentes.

Här är ett exempel utan parentes:

SELECT CURRENT_ROLE;

Resultat:

+--------------+
| CURRENT_ROLE |
+--------------+
| analyst      |
+--------------+

Inga argument accepteras

Skickar eventuella argument till CURRENT_ROLE() resulterar i ett fel:

SELECT CURRENT_ROLE(1);

Resultat:

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

  1. Hur ORD() fungerar i MariaDB

  2. FÖR XML PATH(''):Escapende specialtecken

  3. Hur NOT LIKE fungerar i MySQL

  4. SQL:Analysera kommaavgränsad sträng och använd som join