ALTER TABLEGROUP 
=====================================



描述 
-----------

该语句用来执行以下操作：

* 对一个表组增加多张表。

* 修改表组的分区规则。

* 修改表组的 locality 和 primary zone。




格式 
-----------

* 对一个表组增加多张表。




```javascript
ALTER TABLEGROUP tablegroupname ADD [TABLE] tblname [, tblname...]
```



* 修改表组的分区规则。




```javascript
ALTER TABLEGROUP tablegroupname alter_tg_partition_option
alter_tg_partition_option:
DROP PARTITION '(' name_list ')'
| ADD PARTITION opt_range_partition_list
| modify_tg_partition_info
```



* 修改表组的 locality 和 primary zone。




```javascript
ALTER TABLEGROUP tablegroupname alter_tablegroup_actions
alter_tablegroup_actions:
alter_tablegroup_action
| alter_tablegroup_action, alter_tablegroup_action
alter_tablegroup_action:
SET LOCALITY [=] locality_name
|SET PRIMARY_ZONE [=] primary_zone_name
```



参数解释 
-------------



|             **参数**             |                                                          **描述**                                                          |
|--------------------------------|--------------------------------------------------------------------------------------------------------------------------|
| tablegroupname                 | 指定表组。                                                                                                                    |
| tblname                        | 表名。对一个表组增加多张表时，表与表之间以逗号（'，'）分隔。 当添加多个表时，允许表名重复。如果待添加的表已经属于  *tablegroupname* 的表格组，系统不报错。 |
| modify_tg_partition_info       | 修改表组的分区规则。                                                                                                               |
| LOCALITY locality_name         | 指定表组的 locality。                                                                                                          |
| PRIMARY_ZONE primary_zone_name | 指定表组的主Zone。                                                                                                              |



示例 
-----------

创建表组 tgh 和两张关系表 ttgh 和 ttgh2 ，并将表组的 locality 修改为 F@z1。

```javascript
OceanBase(admin@test)> create tablegroup tgh locality='F,R{ALL_SERVER}@z1' partition by hash partitions 10;
Query OK, 0 rows affected (0.09 sec)

OceanBase(admin@test)> create table ttgh(c1 int, c2 int) tablegroup = tgh locality='F,R{ALL_SERVER}@z1';
Query OK, 0 rows affected (0.55 sec)

OceanBase(admin@test)> create table ttgh2(c1 int, c2 int) tablegroup = tgh locality='F,R{ALL_SERVER}@z1';
Query OK, 0 rows affected (0.39 sec)

OceanBase(admin@test)> alter tablegroup tgh set locality ='F@z1';
Query OK, 0 rows affected (0.09 sec)

OceanBase(admin@test)> select locality from oceanbase.__all_tablegroup where tablegroup_name ='tgh';
+------------+
| locality   |
+------------+
| FULL{1}@z1 |
+------------+
1 row in set (0.05 sec)

OceanBase(admin@test)> select locality from oceanbase.__all_table where tablegroup_id=(select tablegroup_id from oceanbase.__all_tablegroup where tablegroup_name ='tgh');
+------------+
| locality   |
+------------+
| FULL{1}@z1 |
| FULL{1}@z1 |
+------------+
2 rows in set (0.04 sec)
```



