概要

REVOKE [ GRANT OPTION FOR ]
( privilege [, ...] | ALL PRIVILEGES )
ON [ TABLE ] table_name FROM ( grantee | PUBLIC )

描述

撤回指定用户的指定权限。

  • 使用ALL PRIVILEGE可以撤销SELECT,INSERTDELETE权限;
  • 使用PUBLIC表示撤销对象为PUBLIC角色,用户通过其他角色获得的权限不会被收回;
  • 使用GRANT OPTION FOR将进一步收回用户使用GRANT进行赋权的权限;
  • 语句中grantee既可以是单个用户也可以是角色。

示例

--- 撤回用户alice对表orders进行INSET和SELECT的权限
REVOKE INSERT, SELECT ON orders FROM alice;

--- 撤回所有人对表nation进行SELECT的权限,
--- 同时,撤回所有人赋予其他人对该表进行SELECT操作权限的权限
REVOKE GRANT OPTION FOR SELECT ON nation FROM PUBLIC;

--- 撤回用户alice在表test上的所有权限
REVOKE ALL PRIVILEGES ON test FROM alice;

局限

有些连接器不支持REVOKE语句。