UNREGISTER STORAGE UNIT
描述
UNREGISTER STORAGE UNIT 语法用于从当前逻辑库中移除存储单元。
语法
UnregisterStorageUnit ::=
'UNREGISTER' 'STORAGE' 'UNIT' ifExists? storageUnitName (',' storageUnitName)* ignoreTables?
ifExists ::=
'IF' 'EXISTS'
storageUnitName ::=
identifier
ignoreTables ::=
'IGNORE' 'SINGLE' 'TABLES' | 'IGNORE' 'BROADCAST' 'TABLES' |
'IGNORE' ('SINGLE' ',' 'BROADCAST' | 'BROADCAST' ',' 'SINGLE') 'TABLES'补充说明
UNREGISTER STORAGE UNIT只会移除 ShardingSphere 中注册的存储单元,不会删除与存储单元对应的真实数据源;- 无法移除已经被规则使用的存储单元。移除被规则使用的存储单元时会提示
Storage unit '%s' still used by '%s'.; - 将要移除的存储单元中仅包含
SINGLE RULE、BROADCAST RULE,且用户确认可以忽略该限制时,可添加IGNORE SINGLE TABLES、IGNORE BROADCAST TABLES、IGNORE SINGLE, BROADCAST TABLES或IGNORE BROADCAST, SINGLE TABLES关键字移除存储单元; ifExists子句用于避免Storage unit not exists错误。
示例
- 移除存储单元
UNREGISTER STORAGE UNIT ds_0;- 移除多个存储单元
UNREGISTER STORAGE UNIT ds_0, ds_1;- 忽略单表移除存储单元
UNREGISTER STORAGE UNIT ds_0 IGNORE SINGLE TABLES;- 忽略广播表移除存储单元
UNREGISTER STORAGE UNIT ds_0 IGNORE BROADCAST TABLES;- 忽略单表和广播表移除存储单元
UNREGISTER STORAGE UNIT ds_0 IGNORE SINGLE, BROADCAST TABLES;- 忽略广播表和单表移除存储单元
UNREGISTER STORAGE UNIT ds_0 IGNORE BROADCAST, SINGLE TABLES;- 使用
ifExists子句移除存储单元
UNREGISTER STORAGE UNIT IF EXISTS ds_0;保留字
UNREGISTER、STORAGE、UNIT、IF、EXISTS、IGNORE、SINGLE、BROADCAST、TABLES