REVOKE 문을 사용하여 권한을 해지할 수 있다. 사용자에게 부여된 권한은 언제든지 해지가 가능하다. 한 사용자에게 두 종류 이상의 권한을 부여했다면 권한 중 일부 또는 전부를 해지할 수 있다. 또한 하나의 GRANT 문으로 여러 사용자에게 여러 테이블에 대한 권한을 부여한 경우라도 일부 사용자와 일부 테이블에 대해 선택적인 권한 해지가 가능하다.
권한을 부여한 사용자에게서 권한(WITH GRANT OPTION)을 해지하면, 권한을 해지당한 사용자로부터 권한을 받은 사용자도 권한을 해지당한다.
REVOKE operation [ { , operation }_ ] ON table_name [ { , class_name }_ ]
FROM user [ { , user }_ ] [ ; ]
다음은 Fred, John 사용자에게 nation, athlete 두 테이블에 대해 SELECT, INSERT, UPDATE, DELETE 권한을 부여하는 예제이다.
GRANT SELECT, INSERT, UPDATE, DELETE ON nation, athlete TO Fred, John;
다음은 예제 1에서 Fred에게 부여된 모든 권한은 남겨두고, John에게는 조회 권한만을 부여하기 위해 REVOKE 문장을 수행하는 예제이다. 만약 John이 다른 사용자에게 권한을 부여했다면 권한받은 사용자 또한 조회만 가능하다.
REVOKE INSERT, UPDATE, DELETE ON nation, athlete FROM John;
다음은 예제 1에서 Fred에게 부여한 모든 권한을 해지하기 위해 REVOKE 문을 수행하는 예제이다. 이 문장이 수행되면 Fred는 nation, athlete 테이블에 대한 어떠한 연산도 허용되지 않는다.
REVOKE ALL PRIVILEGES ON nation, athlete FROM Fred;