ATTACH 子句

使用 ALTER FRAGMENT ON TABLE 语句的 ATTACH 子句将拥有相同结构的表合并到一个分片存储策略中。

例如,您可以使用该语法,将一个已从表分离的分片组合到一个具有相同分布存储结构的档案表中。

ATTACH 子句
AS 子句
范围间隔表达式
列表表达式
元素 描述 限制 语法
const_expr 定义分片存储列表的常量表达式 必须是带引号的字符串或文字值。在同一对象的分片中,表中的值必须唯一。 常量表达式
consumed _table 要同 surviving_table 合并而失去身份的表 结构必须与 surviving _table 相匹配。不能保护连续列或唯一约束、引用约束或主键约束。另见 ATTACH 子句的一般限制 标识符
expr 定义通过表达式分片的表的分片中存储哪些行的表达式 仅包含当前表中的列以及单一行中的数据值。另见 ATTACH 子句的一般限制. 条件; 表达式
new_frag 此处声明的 consumed_table 分片的名称。缺省值为 dbspace 名称 surviving_table 分片的名称中必须唯一。 标识符
old_frag 含有 surviving_table 分片的分区或 dbspace 必须存在。不能是区间或间隔分片。 标识符
range _expr 定义存储在分片中分片密钥的上限的常量表达式 必须是数字的常量文字表达式 、DATETIME 或与分片密钥表达式兼容的 DATE 数据类型。 常量表达式
surviving _table 要修改分布或存储位置的表 必须存在。没有任何约束。另见对 ALTER FRAGMENT 语句的限制 标识符

当新的表达式分布被连接到由列表或区间间隔分片的表,死表上的数据和活表上的受影响的分片会被扫描并移动到合适的分区,因为这些策略没有重叠。

如果启用了自动更改分布策略模式,并且表连接到分片分布策略,数据库服务器会计算新分片的分布策略。现有分片的旧的分布策略在此时也将重新计算。分片统计的重运算在后台执行。在数据库服务器结束分片统计计算后,它从表分布策略中合并这些分片,并将结果村春在系统目录中。

要使用此子句,您必须具有 DBA 特权或您是指定表的所有者。ATTACH 子句支持以下任务:
1 最多使用一次路径
2 如果另外一个 surviving_table 分片和 dbspace 具有相同的名称,则是必需的
3 对于通过表达式的分片存储是必需的;对于循环分片存储是可选的并会列出分片;对于范围区间分片不可用