表级权限

表级权限,也称为表权限,指定用户或角色可在数据库中的表或视图上执行哪些操作。您可使用同义词来指定您在其上授予或取消表权限的表或视图。

可在表或视图的列的子集上授予 Select、Update 和 References 权限,但仅可对所有列取消权限。对于在定义同一用户拥有的视图的 SELECT 语句中引用的表,如果从用户取消 Select 权限,则删除那个视图,除非它还包括来自另一数据库中表的列。

对于 CREATE EXTERNAL TABLE 语句已经在当前的数据库中注册了的表对象,仅支持 Select 权限和 Insert 权限;不可授予或取消其他表或列访问权限。

使用下列语法来指定从一个或多个用户或角色取消哪些表级权限:
表级权限
元素 描述 限制 语法
owner 拥有 tableviewsynonym 的用户的名称 必须为有效的授权标识符 所有者名称
synonym、table、view 在其上授予权限的同义词、表或视图 在当前的数据库中必须存在 标识符
在一 REVOKE 语句中,您可罗列一个或多个下列关键字来指定对指定的表要从用户或角色取消的权限。
权限 在 REVOKE 之后的作用
INSERT 用户不可插入行。
DELETE 用户不可删除行。
SELECT 用户不可通过 SELECT 语句显示检索的数据。
UPDATE 用户不可更改列值。
INDEX 用户不可创建永久的索引。您必须有 Resource 权限来利用 Index 权限。(但任何有 Connect 权限的用户都可在临时表上创建索引。)
ALTER 持有者不可添加或删除列、修改列数据类型、添加或删除约束、将表的锁定模式由 PAGE 更改为 ROW,也不可添加或删除相应的命名了的 ROW 类型表。用户还不可启用或禁用索引、约束以及触发器,如 SET Database Object Mode 语句 中所述。
权限 在 REVOKE 之后的作用
REFERENCES 用户不可引用引用约束中的列。您还必须有对该数据库的 Resource 权限来利用表上的 References 权限。(然而,您可在 ALTER TABLE 语句期间添加引用约束,而不持有对该数据库的 Resource 权限。)取消 References 权限不允许级联 DELETE 操作。
UNDER 用户不可创建在类型表之下的子表。
ALL 这将移除以上罗列的所有表权限。(此处的 PRIVILEGES 关键字是可选的。)

另请参阅 表级权限

如果用户从两个不同的授予者收到相同的权限,且一授予者取消该权限,则被授予者仍有该权限,直到第二个授予者也取消该权限为止。例如,如果您和 DBA 都将对您的表的 Update 权限授予 ted,则您和 DBA 必须都取消 Update 权限来阻止 ted 更新您的表。

然而,如果用户 ted 通过角色或作为 PUBLIC 持有相同的权限,则此 REVOKE 操作不能阻止 ted 行使 Update 权限。

1 GBase 8s 扩展