SQL Language Extension: GRANT/REVOKE permissions on DDL operations Implements capability to manage permissions on DDL operations. Author: Red Soft Corporation, roman.simakov(at)red-soft.biz Syntax is: GRANT CREATE TO [USER | ROLE] [WITH GRANT OPTION]; GRANT ALTER ANY TO [USER | ROLE] [WITH GRANT OPTION]; GRANT DROP ANY TO [USER | ROLE] [WITH GRANT OPTION]; REVOKE [GRANT OPTION FOR] CREATE FROM [USER | ROLE] ; REVOKE [GRANT OPTION FOR] ALTER ANY FROM [USER | ROLE] ; REVOKE [GRANT OPTION FOR] DROP ANY FROM [USER | ROLE] ; Where could be: TABLE, VIEW, PROCEDURE, FUNCTION, PACKAGE, GENERATOR, SEQUENCE, DOMAIN, EXCEPTION, ROLE, CHARACTER SET, COLLATION, FILTER Description: Makes it possible to grant and revoke privileges on DDL operations. DDL operations for managing triggers and indices re-use table privileges. Sample: GRANT CREATE TABLE TO Joe; GRANT ALTER ANY TABLE TO Joe; REVOKE CREATE TABLE FROM Joe; For database access special form is supported: GRANT CREATE DATABASE TO [USER | ROLE] ; GRANT ALTER DATABASE TO [USER | ROLE] [WITH GRANT OPTION]; GRANT DROP DATABASE TO [USER | ROLE] [WITH GRANT OPTION]; REVOKE CREATE DATABASE FROM [USER | ROLE] ; REVOKE [GRANT OPTION FOR] ALTER DATABASE FROM [USER | ROLE] ; REVOKE [GRANT OPTION FOR] DROP DATABASE FROM [USER | ROLE] ;