Anfang des Inhaltsbereichs

REVOKE-Anweisung (revoke_statement) Dokument im Navigationsbaum lokalisieren

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, daß dieses Privileg weiteren Benutzern entzogen wird, die dieses Privileg von dem angegebenen Benutzer erhalten haben.

Beispiel

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.

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