Anfang des Inhaltsbereichs

REVOKE-Anweisung (revoke_statement) 

Die REVOKE-Anweisung (revoke_statement) widerruft Privilegien.

Syntax

<revoke_statement> ::= REVOKE <priv_spec>,... FROM <grantee>,... [<cascade_option>]
| REVOKE EXECUTE ON <dbproc_name> FROM <grantee>,...
| REVOKE SELECT ON <sequence_name> FROM <grantee>,... [<cascade_option>]

priv_spec, grantee, cascade_option, dbproc_name, sequence_name

Erläuterung

Der Eigentümer einer Tabelle kann jedem Benutzer die für diese Tabelle vergebenen Privilegien entziehen.

Ist ein Benutzer nicht Eigentümer der Tabelle, kann er nur die Privilegien entziehen, die er selbst vergeben hat.

Wenn für eine Tabelle das SELECT-Privileg ohne Angabe von Spaltennamen vergeben wurde, dann wird durch REVOKE SELECT (<column_name>,...) das SELECT-Privileg (siehe Privileg-Typ) für die angegebenen Spalten entzogen, das SELECT-Privileg für die nicht vorkommenden Spalten der Tabelle besteht anschließend weiter. Entsprechendes gilt für das UPDATE-, REFERENCES- und SELUPD-Privileg.

Die REVOKE-Anweisung kann kaskadieren, d.h. wird einem Benutzer ein Privileg entzogen, so kann das dazu führen, dass dieses Privileg weiteren Benutzern entzogen wird, die dieses Privileg von dem angegebenen Benutzer erhalten haben.

Seien U1, U2 und U3 Benutzer.
U1 vergibt an U2 die Privilegienmenge P WITH GRANT OPTION.
U2 vergibt an U3 die Privilegienmenge P' (P'<=P).

Wenn U1 dem Benutzer U2 die Privilegienmenge P'' (P''<=P) entzieht, so wird dem Benutzer U3 implizit die Privilegienmenge (P'*P'') entzogen.

·        Wenn dem Eigentümer einer View-Tabelle das SELECT-Privileg für eine Spalte entzogen wird, die als selektierte Spalte, jedoch nicht in der table_expression der Viewdefinition auftritt (CREATE VIEW-Anweisung), dann wird die durch select_column definierte Spalte aus der View-Tabelle gelöscht.
Wenn diese View-Tabelle in der FROM-Klausel einer weiteren View-Tabelle verwendet wird, so wird das beschriebene Verfahren rekursiv auf diese View-Tabelle angewendet.

·        Wenn dem Eigentümer einer View-Tabelle das SELECT-Privileg für eine Spalte oder Tabelle entzogen wird, die in der table_expression der Viewdefinition auftritt, dann wird die View-Tabelle mit allen von ihr abhängigen View-Tabellen, Privilegien und Synonymen gelöscht, wenn keine CASCADE-Option oder die CASCADE-Option CASCADE angegeben ist. Bei Angabe der CASCADE-Option RESTRICT scheitert die REVOKE-Anweisung.

REVOKE EXECUTE

Durch REVOKE EXECUTE wird dem durch grantee identifizierten Benutzer die Berechtigung entzogen, die angegebene Datenbankprozedur auszuführen. Die Berechtigung zur Ausführung kann nur vom Eigentümer der Datenbankprozedur entzogen werden.

Ende des Inhaltsbereichs