Share via


2.1.2.32 F034, Extended REVOKE statement

V0068

The specification states the following:

 Subclause 11.2, "<drop schema statement>":
  
 <drop behavior> ::=
 CASCADE
 | RESTRICT
  
 Subclause 12.3, "<privileges>":
  
 <privileges> ::=
 <object privileges> ON <object name>
  
 <object name> ::=
 [ TABLE ] <table name>
 | DOMAIN <domain name>
 | COLLATION <collation name>
 | CHARACTER SET <character set name>
 | TRANSLATION <transliteration name>
 | TYPE <schema-resolved user-defined type name>
 | SEQUENCE <sequence generator name>
 | <specific routine designator>
  
 <object privileges> ::=
 ALL PRIVILEGES
 | <action> [ { <comma> <action> }... ]
  
 <action> ::=
 SELECT
 | SELECT <left paren> <privilege column list> <right paren>
 | SELECT <left paren> <privilege method list> <right paren>
 | DELETE
 | INSERT [ <left paren> <privilege column list> <right paren> ]
 | UPDATE [ <left paren> <privilege column list> <right paren> ]
 | REFERENCES [ <left paren> <privilege column list> <right paren> ]
 | USAGE
 | TRIGGER
 | UNDER
 | EXECUTE
  
 ...
  
 <grantee> ::=
 PUBLIC
 | <authorization identifier>
  
 Subclause 12.7, "<revoke statement>":
  
 <revoke statement> ::=
 <revoke privilege statement>
 | <revoke role statement>
  
 <revoke privilege statement> ::=
 REVOKE [ <revoke option extension> ] <privileges>
 FROM <grantee> [ { <comma> <grantee> }... ]
 [ GRANTED BY <grantor> ]
 <drop behavior>
  
 <revoke option extension> ::=
 GRANT OPTION FOR
 | HIERARCHY OPTION FOR
  
 <revoke role statement> ::=
 REVOKE [ ADMIN OPTION FOR ] <role revoked> [ { <comma> <role revoked> }... ]
 FROM <grantee> [ { <comma> <grantee> }... ]
 [ GRANTED BY <grantor> ]
 <drop behavior>
  
 ...
  
 Conformance Rules
  
 ...
  
 Without Feature F034, "Extended REVOKE statement", conforming SQL language shall not contain a <revoke statement> that contains a <drop behavior> that contains CASCADE.
  
 Without Feature F034, "Extended REVOKE statement", conforming SQL language shall not contain a <revoke option extension> that contains GRANT OPTION FOR.
  
 Without Feature F034, "Extended REVOKE statement", conforming SQL language shall not contain a <revoke statement> that contains a <privileges> that contains an <object name> where the owner of the SQL-schema that is specified explicitly or implicitly in the <object name> is not the current authorization identifier.
  
 Without Feature F034, "Extended REVOKE statement", conforming SQL language shall not contain a <revoke statement> such that there exists a privilege descriptor PD that satisfies all the following conditions:
 a) PD identifies the object identified by <object name> simply contained in <privileges> contained in the <revoke statement>.
 b) PD identifies the <grantee> identified by any <grantee> simply contained in <revoke statement> and that <grantee> does not identify the owner of the SQL-schema that is specified explicitly or implicitly in the <object name> simply contained in <privileges> contained in the <revoke statement>.
 c) PD identifies the action identified by the <action> simply contained in <privileges> contained in the <revoke statement>.
 d) PD indicates that the privilege is grantable.
  

Microsoft SQL Server 2008 R2 and Microsoft SQL Server 2012 vary as follows:

Transact-SQL partially supports this feature. The REVOKE statement in Transact-SQL supports an AS clause that specifies a principal from which the principal that is executing the query derives its right to revoke the permission.

See [ISO/IEC9075-1:2011] for the definition of "query".