Die Anweisung REVOKE entfernt Berechtigungen, die mit der Anweisung GRANT erteilt wurden. Syntax 1 entzieht bestimmte Benutzerberechtigungen.
Syntax 2 entzieht Tabellenberechtigungen. Syntax 3 entzieht Berechtigungen zum Ausführen einer Prozedur. Syntax 4 entzieht
Sequenzberechtigungen.
REVOKE CONNECT entfernt eine Benutzer-ID aus der Datenbank und löscht auch alle Objekte (Tabellen, Ansichten, Prozeduren etc.),
die dem entsprechenden Benutzer gehören, und ebenso alle von diesem Benutzer erteilten Berechtigungen. Sie können kein REVOKE
CONNECT für einen Benutzer ausführen, wenn der Benutzer, der gelöscht wird, Eigentümer einer Tabelle ist, die von einer Ansicht
eines anderen Benutzers referenziert wird.
REVOKE GROUP entzieht automatisch allen Gruppenmitgliedern MEMBERSHIP IN GROUP.
Wenn Sie einen Benutzer oder eine Gruppe hinzufügen, erbt der Benutzer alle Berechtigungen, die dieser Gruppe zugewiesen wurden.
SQL Anywhere gestattet es Ihnen nicht, eine Teilmenge der Berechtigungen zu entziehen, die ein Benutzer als Mitglied einer
Gruppe erhält, da Sie nur Berechtigungen entziehen können, die explizit durch eine GRANT-Anweisung erteilt wurden. Wenn die
einzelnen Benutzer unterschiedliche Berechtigungen benötigen, können Sie unterschiedliche Gruppen mit den geeigneten Berechtigungen
erstellen oder explizit jedem Benutzer die Berechtigungen erteilen, die sie benötigen.
Wenn Sie Gruppenberechtigungen für Tabellen, Ansichten oder Prozeduren erteilen oder entziehen, gelten die Änderungen für
alle Mitglieder dieser Gruppen. Die Berechtigungen DBA, RESOURCE und GROUP werden nicht geerbt: Diese müssen Sie den jeweiligen
Benutzer-IDs individuell zuordnen.
Wenn Sie einem Benutzer die WITH GRANT OPTION-Berechtigung erteilen und diese Berechtigung dann später entziehen, entziehen
Sie damit auch alle Berechtigungen, die dieser Benutzer anderen erteilt hat, während er die WITH GRANT OPTION-Berechtigung
hatte.
REVOKE USAGE ON SEQUENCE entfernt die Berechtigung eines Benutzers zum Auswerten des aktuellen oder nächsten Werts in einer
Sequenz. Sie müssen über die DBA-Berechtigung verfügen oder Ersteller der Sequenz sein, um diese Anweisung ausführen zu können.
Sie müssen der Verleiher der Berechtigungen sein, die entzogen werden, oder DBA-Berechtigung besitzen.
Wenn Sie einem anderen Benutzer Verbindungsberechtigungen oder Tabellenberechtigungen entziehen, darf der andere Benutzer
nicht mit der Datenbank verbunden sein. Sie können DBO keine Verbindungsberechtigungen entziehen.
Wenn Sie mit der Dienstprogrammdatenbank verbunden sind und REVOKE CONNECT FROM DBA ausführen, werden zukünftige Verbindungen
mit der Dienstprogrammdatenbank deaktiviert. Das bedeutet, dass keine weiteren Verbindungen zur Dienstprogrammdatenbank hergestellt
werden können, außer Sie verwenden eine Verbindung, die vor der Ausführung von REVOKE CONNECT bestanden hat, oder Sie starten
den Datenbankserver neu.
SQL/2008
Syntax 1 ist eine Erweiterung des Herstellers. Syntax 2 und Syntax 3 sind Kernfunktionen des SQL/2008-Standards. Bei
Syntax 2 ist in SQL Anywhere das PRIVILEGES-Schlüsselwort optional, während der SQL/2008-Standard "ALL PRIVILEGES" obligatorisch
ist.
Syntax 4 ist Teil der optionalen SQL/2008-Sprachenfunktion T176 (Sequenzgenerator-Unterstützung).