以指定的用户替代 PUBLIC

如果表所有者将权限授予 PUBLIC,则该所有者不可从任何特定的用户取消同一权限。例如,假设 PUBLIC 对您的 customer 表有缺省的 Select 权限。假设您发出下列语句,尝试阻止 ted 访问您的表:
REVOKE ALL ON customer FROM ted;

此语句导致 ISAM 错误消息 111,No record found,因为系统目录表(syscolauthsystabauth)未包含名为 ted 的用户的表级权限条目。此 REVOKE 操作不阻止 ted 保持所有赋予 PUBLIC 的对 customer 表的表级权限。

要限制表级权限,首先以 PUBLIC 关键字取消该权限,然后将它们重新授予某适当的用户和角色列表。下列语句从所有用户取消对 customer 表的 Index 和 Alter 权限,然后特定地将这些权限授予用户 mary
REVOKE INDEX, ALTER ON customer FROM PUBLIC; 
GRANT INDEX, ALTER ON customer TO mary;