如果要授予有用的分段特权,那么必须有一种策略来控制数据分布。一种有效的策略是通过表达式将数据记录分段。然而,循环法数据记录分布策略不是有用的策略,因为此策略会将每个新数据记录添加至下一个分段。循环分布使任何跟踪数据分布的清除方法无效,因此取消了对分段权限的任何实际使用。由于基于表达式的分布与循环分布之间存在这种差异,所以 GRANT FRAGMENT 和 REVOKE FRAGMENT 语句只适用于采用基于表达式的分段存储的表。
创建分段表时,不存在缺省分段权限。使用 GRANT FRAGMENT 语句可授予对一个或多个分段的插入、更新或删除权限。如果要同时授予所有这三项特权,请使用 GRANT FRAGMENT 语句的 ALL 关键字。然而,不能仅仅通过命名包含分段的表来授予分段特权。必须命名特定的分段。
当要撤销 Insert、Update 或 Delete 特权时,请使用 REVOKE FRAGMENT 语句。此语句取消一个或多个用户对分段表的一个或多个分段的特权。如果要取消当前对某个表存在的所有特权,可使用 ALL 关键字。如果不在此命令中指定任何分段,那么所取消的许可权适用于表中当前具有许可权的所有分段。
有关更多信息,请参阅 GBase 8s SQL 指南:语法 中的 GRANT FRAGMENT、REVOKE FRAGMENT 和 SET 语句。