CREATE ROLE-Anweisung (create_role_statement)
Die CREATE ROLE-Anweisung (
create_role_statement ) definiert eine Rolle.Syntax
<create_role_statement> ::= CREATE ROLE <role_name> [IDENTIFIED BY <password>]
role_name, passwordErläuterung
Eine Rolle faßt eine Menge von
Privilegien zusammen, die dann in der GRANT-Anweisung unter Angabe des Rollennamens an Benutzer, Benutzergruppen oder andere Rollen vergeben werden können. Nach der Ausführung der CREATE ROLE-Anweisung ist die Rolle zunächst leer. Privilegien müssen ihr durch die GRANT-Anweisung zugeordnet werden.Die Existenz und die Eigenschaften der Rolle werden in Form von Metadaten im Katalog abgelegt. Der aktuelle Benutzer wird Eigentümer der Rolle.
Der aktuelle Benutzer muß den Status DBA besitzen.
Der Rollenname darf nicht mit dem Namen einer bereits existierenden Rolle, eines Benutzers oder einer Benutzergruppe übereinstimmen.
Durch Ausführung der
ALTER USER-Anweisung bzw. der ALTER USERGROUP-Anweisung können einem Benutzer bzw. einer Benutzergruppe Rollen zugeordnet werden, die beim Eröffnen einer Sitzung aktiviert werden. Alternativ können Rollen mit Hilfe der SET-Anweisung innerhalb einer Sitzung aktiviert werden. Wenn eine Rolle in einer Sitzung aktiviert ist, besitzt der aktuelle Benutzer der Sitzung alle Privilegien, die der Rolle zugeordnet sind.Hierbei ist jedoch zu beachten, daß Rollen grundsätzlich nicht während der Ausführung von
Datendefinitionsbefehlen aktiv sind.Wenn für die Rolle ein Kennwort definiert wird, dann können Benutzer, denen die Rolle zugeordnet wird, diese nur unter Angabe des Kennworts in der SET-Anweisung aktivieren.