REVOKE entzieht Berechtigungsschlüsseln folgende Privilegien:
Tabellen- und Spalten-Privilegien
Sonder-Privilegien
EXECUTE-Privilegien für Routinen
Privilegien können einem Berechtigungsschlüssel nur von dem Berechtigungsschlüssel entzogen werden, der das Privileg vergeben hat, dem sog. Grantor (siehe Abschnitt „GRANT - Privilegien vergeben").
Welche Privilegien welchen Berechtigungsschlüsseln zugeordnet sind, erfahren Sie in den Tabellen TABLE_PRIVILEGES, COLUMN_PRIVILEGES, USAGE_PRIVILEGES, CATALOG_PRIVILEGES und ROUTINE_PRIVILEGES des INFORMATION_SCHEMA (siehe Kapitel „Informationsschemata").
Die REVOKE-Anweisung hat mehrere Formate. Beispiele befinden sich beim jeweiligen Format.
Siehe auch
GRANT
REVOKE-Format für Tabellen- und Spalten-Privilegien
REVOKE
{ ALL PRIVILEGES |
tabellen_und_spalten_privileg ,...}
ON [TABLE]
tabelle
FROM { PUBLIC |
berechtigungsschlüssel },...
{ RESTRICT | CASCADE }
tabellen_und_spalten_privileg ::=
{
SELECT |
DELETE |
INSERT |
UPDATE [(
spalte ,...)] |
REFERENCES [(
spalte ,...)]
}
ALL PRIVILEGES
Alle Tabellen-Privilegien werden entzogen, die der aktuelle Berechtigungsschlüssel entziehen darf. ALL PRIVILEGES umfasst die Privilegien SELECT, DELETE, INSERT, UPDATE und REFERENCES.
tabellen_und_spalten_privileg
Die Tabellen- und Spalten-Privilegien werden einzeln entzogen. Sie können mehrere Privilegien angeben.
ON [TABLE] tabelle
Name der Tabelle, für die Sie Privilegien entziehen wollen.
Die Tabelle kann eine Basistabelle oder ein View sein. Für einen nicht änderbaren View können Sie nur das Privileg SELECT entziehen.
FROM PUBLIC
Die Privilegien werden der Allgemeinheit entzogen. Individuelle Privilegien von Berechtigungsschlüsseln werden dadurch nicht berührt.
FROM berechtigungsschlüssel
Die Privilegien werden dem Benutzer mit dem Berechtigungsschlüssel berechtigungsschlüssel entzogen. Sie können mehrere Berechtigungsschlüssel angeben.
CASCADE
Der Grantor kann die von ihm vergebenen Privilegien uneingeschränkt entziehen:
Alle angegebenen Privilegien werden entzogen.
Wurde ein angegebenes Privileg an andere Berechtigungsschlüssel weitergegeben, werden alle direkt oder indirekt weitergegebenen Privilegien gelöscht.
Views, die direkt oder indirekt auf Grund des angegebenen oder der weitergegebenen Privilegien definiert wurden, werden gelöscht.
Referenzbedingungen, die auf Grund des angegebenen und der weitergegebenen Privilegien definiert wurden, werden gelöscht.
Routinen, die direkt oder indirekt auf Grund des angegebenen und der weitergegebenen Privilegien definiert wurden, werden gelöscht.
RESTRICT
Für das Entziehen von Privilegien gelten Einschränkungen:
Ein Privileg, das an andere Berechtigungsschlüssel weitergegeben wurde, kann nicht entzogen werden, solange ein solches weitergegebenes Privileg existiert.
Ein Privileg, auf Grund dessen ein View oder eine Referenzbedingung definiert wurde, kann nicht entzogen werden, wenn der View bzw. die Referenzbedingung noch existiert.
Ein Privileg, auf Grund dessen eine Routine definiert wurde, kann nicht entzogen werden, wenn die Routine noch existiert.
tabellen_und_spalten_privileg
Angabe der einzelnen Tabellen- und Spalten-Privilegien.
SELECT
Privileg, das das Lesen von Sätzen der Tabelle erlaubt.
DELETE
Privileg, das das Löschen von Sätzen der Tabelle erlaubt.
INSERT
Privileg, das das Einfügen von Sätzen in die Tabelle erlaubt.
UPDATE [(spalte,...)]
Privileg, das das Ändern von Sätzen der Tabelle erlaubt.
Der Entzug des Privilegs kann auf die angegebenen Spalten beschränkt werden.
spalte muss ein Spaltenname der angegebenen Tabelle sein. Sie können mehrere Spalten angeben.
(spalte,...) nicht angegeben:
Das Privileg zum Ändern aller Spalten der Tabelle wird entzogen.
REFERENCES [(spalte,...)]
Privileg, das die Definition von Referenzbedingungen erlaubt, die sich auf die Tabelle beziehen.
Der Entzug des Privilegs kann auf die angegebenen Spalten beschränkt werden.
spalte muss ein Spaltenname der angegebenen Tabelle sein. Sie können mehrere Spalten angeben.
(spalte,...) nicht angegeben:
Das Privileg zum Referenzieren aller Spalten der Tabelle wird entzogen.
REVOKE-Format für Sonder-Privilegien
REVOKE { ALL SPECIAL PRIVILEGES |
sonder_privileg ,...}
ON { CATALOG
catalog | STOGROUP
stogroup }
FROM { PUBLIC |
berechtigungsschlüssel },...
{ RESTRICT | CASCADE }
sonder_privileg ::=
{
CREATE USER |
CREATE SCHEMA |
CREATE STOGROUP |
UTILITY
|
USAGE
}
ALL SPECIAL PRIVILEGES
Alle Sonder-Privilegien werden entzogen, die der aktuelle Berechtigungsschlüssel entziehen darf. ALL SPECIAL PRIVILEGES umfasst die Sonderprivilegien.
sonder_privileg
Die Sonder-Privilegien werden einzeln entzogen. Sie können mehrere Sonder-Privilegien angeben.
ON CATALOG catalog
Name der Datenbank, für die Sie Sonder-Privilegien entziehen wollen.
ON STOGROUP stogroup
Name der Storage Group, für die Sie das Privileg USAGE entziehen wollen. Der einfache Name der Storage Group kann durch einen Datenbanknamen qualifiziert werden.
FROM berechtigungsschlüssel
Die Privilegien werden dem Benutzer mit dem Berechtigungsschlüssel berechtigungsschlüssel entzogen. Sie können mehrere Berechtigungsschlüssel angeben.
CASCADE
Der Grantor kann die von ihm vergebenen Privilegien uneingeschränkt entziehen:
Alle angegebenen Privilegien werden entzogen.
Wurde ein angegebenes Privileg an andere Berechtigungsschlüssel weitergegeben, werden alle weitergegebenen Privilegien implizit gelöscht.
RESTRICT
Für das Entziehen von Privilegien gelten Einschränkungen:
Ein Privileg, das an andere Berechtigungsschlüssel weitergegeben wurde, kann nicht entzogen werden, solange ein solches weitergegebenes Privileg existiert.
sonder_privileg
Angabe der einzelnen Sonder-Privilegien.
CREATE USER
Sonder-Privileg, das das Definieren von Berechtigungsschlüsseln erlaubt. Sie dürfen das Privileg CREATE USER nur für eine Datenbank entziehen.
CREATE SCHEMA
Sonder-Privileg, das das Definieren von Datenbank-Schemata erlaubt. Sie dürfen das Privileg CREATE SCHEMA nur für eine Datenbank entziehen.
CREATE STOGROUP
Sonder-Privileg, das das Definieren von Storage Groups erlaubt. Sie dürfen das Privileg CREATE STOGROUP nur für eine Datenbank entziehen.
UTILITY
Sonder-Privileg, das die Verwendung von Utility-Anweisungen erlaubt. Sie dürfen das Privileg UTILITY nur für eine Datenbank entziehen.
USAGE
Sonder-Privileg, das die Verwendung der Storage Group erlaubt. Sie dürfen das Privileg USAGE nur für eine Storage Group entziehen.
Beispiel
Die folgende REVOKE-Anweisung entzieht dem Berechtigungsschlüssel UTIANW2 das UPDATE-Privileg für alle Spalten der Tabelle BESCHREIBUNG.
REVOKE UPDATE ON TABLE beschreibung FROM utianw2 RESTRICT
REVOKE-Format für EXECUTE-Privilegien (Prozedur)
REVOKE EXECUTE ON SPECIFIC PROCEDURE
prozedur
FROM { PUBLIC |
berechtigungsschlüssel },...
{ RESTRICT | CASCADE }
prozedur ::=
routine
EXECUTE ON SPECIFIC PROCEDURE prozedur
Name der Prozedur, für die das Privileg entzogen werden soll. Der einfache Prozedurname kann durch einen Datenbank- und Schemanamen qualifiziert werden.
FROM berechtigungsschlüssel
Die Privilegien werden dem Benutzer mit dem Berechtigungsschlüssel berechtigungsschlüssel entzogen. Sie können mehrere Berechtigungsschlüssel angeben.
CASCADE
Der Grantor kann die von ihm vergebenen Privilegien uneingeschränkt entziehen:
Alle angegebenen Privilegien werden entzogen.
Wurde ein angegebenes Privileg an andere Berechtigungsschlüssel weitergegeben, dann werden alle direkt oder indirekt weitergegebenen Privilegien gelöscht.
Views, die direkt oder indirekt auf Grund des angegebenen oder der weitergegebenen Privilegien definiert wurden, werden gelöscht.
Routinen, die direkt oder indirekt auf Grund des angegebenen oder der weitergegebenen Privilegien definiert wurden, werden gelöscht.
RESTRICT
Für das Entziehen von Privilegien gelten Einschränkungen:
Ein Privileg, das an andere Berechtigungsschlüssel weitergegeben wurde, kann nicht entzogen werden, solange ein solches weitergegebenes Privileg existiert.
Ein Privileg, auf Grund dessen ein View definiert wurde, kann nicht entzogen werden, wenn der View noch existiert.
Ein Privileg, auf Grund dessen eine Routine definiert wurde, kann nicht entzogen werden, wenn die Routine noch existiert.
REVOKE-Format für EXECUTE-Privilegien (UDF)
REVOKE EXECUTE ON SPECIFIC FUNCTION
udf
FROM { PUBLIC |
berechtigungsschlüssel },...
{ RESTRICT | CASCADE }
udf ::=
routine
EXECUTE ON SPECIFIC FUNCTION udf
Name der UDF, für die das Privileg entzogen werden soll. Der einfache UDF-Name kann durch einen Datenbank- und Schemanamen qualifiziert werden.
FROM berechtigungsschlüssel
Die Privilegien werden dem Benutzer mit dem Berechtigungsschlüssel berechtigungsschlüssel entzogen. Sie können mehrere Berechtigungsschlüssel angeben.
CASCADE
Der Grantor kann die von ihm vergebenen Privilegien uneingeschränkt entziehen:
Alle angegebenen Privilegien werden entzogen.
Wurde ein angegebenes Privileg an andere Berechtigungsschlüssel weitergegeben, werden alle weitergegebenen Privilegien und alle aufgrund dieser Privilegien erzeugten Routinen und Views kaskadenförmig gelöscht.
Views, die auf Grund des angegebenen Privilegs definiert wurden, werden kaskadenförmig gelöscht.
Routinen, die auf Grund dieses Privilegs definiert wurden, werden kaskadenförmig gelöscht.
RESTRICT
Für das Entziehen von Privilegien gelten Einschränkungen:
Ein Privileg, das an andere Berechtigungsschlüssel weitergegeben wurde, kann nicht entzogen werden, solange ein solches weitergegebenes Privileg existiert.
Ein Privileg, auf Grund dessen ein View definiert wurde, kann nicht entzogen werden, wenn der View noch existiert.
Ein Privileg, auf Grund dessen eine Routine definiert wurde, kann nicht entzogen werden, wenn die Routine noch existiert.