This statement format is used to revoke privileges on specified database objects. One or more of the privilege option keywords may be specified after REVOKE (separated by commas), allowing multiple privileges on a single database object to be revoked in one statement.
Individual grants (or groups of grants) are removed from the privilege tables in the SYSTEM schema for the database by executing REVOKE command statements. Each individual REVOKE action involves the removal of one privilege by one
revoker
from one
revokee
, except when ALL PRIVILEGES is revoked on a table or schema.
If ALL PRIVILEGES on a table or schema is revoked from a user authorization, each of the individual privileges that constitute ALL PRIVILEGES for the object is removed (regardless of whether they were originally granted with the ALL PRIVILEGES option). Conversely, if ALL PRIVILEGES was granted on a table or schema, the individual privileges that make up ALL PRIVILEGES may be subsequently revoked one at a time.
ALL PRIVILEGES on a domain consists solely of the USAGE privilege, so this privilege may be removed by revoking either ALL PRIVILEGES or USAGE on the domain.
DBA privileges cannot be revoked partially by revoking individual object privileges; they must be revoked altogether.
See the description of GRANT above for more information about the privileges that may be revoked.
Since the same privilege can be granted to a single grantee by several different grantors, the grantee retains the privilege as long as one (or more) of these grants remains recorded in the privilege tables in the database SYSTEM schema.