豁免仅适用于单个安全策略的规则,其名称跟在 FOR 关键字之后。由于受到保护的表可有多个安全标签,但只有一个安全策略,因此撤销豁免可防止没有充分的安全凭证的用户访问有指定的安全策略保护的表中的数据。
如果在数据库中不存在指定的策略,则 REVOKE EXEMPTION 语句失败并报错。
可跟在 FROM 关键字之后的 USER 关键字是可选的,且没有作用,但在 REVOKE EXEMPTION 语句中指定的任何授权标识符必须是单个用户的标识符,而不是角色的标识符。此 user 不可为发出同一 REVOKE EXEMPTION 语句的 DBSECADM。
REVOKE EXEMPTION ON RULE IDSLBACREADARRAY FOR MegaCorp FROM lynette;此豁免恢复对所有后续读操作的数组组件的读存取规则,用户 lynette 尝试在受指定的策略的安全标签保护的表进行读操作。
当 REVOKE EXEMPTION 语句成功地取消用户的豁免时,数据库服务器更新系统目录的 syssecpolicyexemptions 表来取消注册被取消的豁免(或如果在 FROM 关键字之后罗列几个用户,则为多个豁免)。