## Rollenname (role_name)

Ein Rollenname (role_name) identifiziert eine Rolle.

### Syntax

<role_name> ::= <identifier>

Der Bezeichner darf nicht länger als 32 Zeichen lang sein.

### Erläuterung

1. Mit der CREATE ROLE-Anweisung wird eine Rolle angelegt. Diese Rolle ist zunächst leer. Nur ein Datenbankadministrator kann Rollen anlegen. Der Name einer neuen Rolle darf nicht mit dem Namen einer vorhandenen Rolle, eines Benutzers oder einer Benutzergruppe identisch sein.

2. Mit Hilfe der GRANT-Anweisung werden einer Rolle Privilegien zugewiesen. Mit Hilfe der REVOKE-Anweisung können einer Rolle Privilegien entzogen werden.

3. Eine Rolle kann mit Hilfe der GRANT-Anweisung unter Angabe des Rollennamens Datenbankbenutzern, Benutzergruppen oder Rollen zugewiesen werden.

4. Mit Hilfe der ALTER USER- bzw. ALTER USERGROUP-Anweisung legen Sie fest, welche der Rollen, die einem Benutzer bzw. einer Benutzergruppe zugeordnet wurden, beim Eröffnen einer Datenbanksitzung verwendet werden sollen.

5. Während einer Datenbanksitzung können Sie mit Hilfe der SET-Anweisung andere dem Benutzer bzw. der Benutzergruppe zugeordnete Rollen aktivieren
Wenn eine Rolle während einer Sitzung aktiviert wird, dann hat der aktuelle Benutzer der Sitzung alle Privilegien, die einer Rolle zugeordnet sind.
Wenn für eine Rolle ein Kennwort definiert wurde, können Benutzer, die dieser Rolle zugeordnet wurden, die Rolle nur durch die Angabe des Kennwortes in der SET-Anweisung aktivieren.

Das Vorhandensein und die Eigenschaften einer Rolle werden in Form von Metadaten im Datenbankkatalog registriert. Ein Benutzer, der eine Rolle anlegt, wird zum Eigentümer dieser Rolle.

Die durch die ALTER USER- bzw. ALTER-USERGROUP-Anweisungen dem Benutzer bzw. der Benutzergruppe zugeordneten Rollen werden aktiviert, sobald eine Datenbanksitzung eröffnet wird.

Während der Ausführung von Datendefinitionsanweisungen sind für die ausführende Datenbanksitzung alle Rollen inaktiv.

#### SQL-Anweisung, um eine Rolle zu definieren

CREATE ROLE-Anweisung

#### SQL-Anweisung, um einer Rolle Privilegien zuzuordnen

GRANT-Anweisung

#### SQL-Anweisung, um eine Rolle zu vergeben

GRANT-Anweisung

#### SQL-Anweisungen, um eine Rolle zu aktivieren

ALTER USER-Anweisung

ALTER USERGROUP-Anweisung

SET-Anweisung

#### SQL-Anweisung, um eine Rolle zu löschen

DROP ROLE-Anweisung