以原子方式交换两个表或字典的名称。
此任务也可以通过使用临时名称的 RENAME 查询来完成,但在这种情况下,该操作不具有原子性。
语法
EXCHANGE TABLES|DICTIONARIES [db0.]name_A AND [db1.]name_B [ON CLUSTER cluster]EXCHANGE TABLES
互换两个表的名称。
语法
EXCHANGE TABLES [db0.]table_A AND [db1.]table_B [ON CLUSTER cluster]EXCHANGE 多个表
你可以在单个查询中用逗号分隔多个表对,一次交换多对表。
示例
-- 创建表
CREATE TABLE a (a UInt8) ENGINE=Memory;
CREATE TABLE b (b UInt8) ENGINE=Memory;
CREATE TABLE c (c UInt8) ENGINE=Memory;
CREATE TABLE d (d UInt8) ENGINE=Memory;
-- 在一个查询中交换两对表
EXCHANGE TABLES a AND b, c AND d;
SHOW TABLE a;
SHOW TABLE b;
SHOW TABLE c;
SHOW TABLE d;-- 现在表 'a' 具有 'b' 的结构,表 'b' 具有 'a' 的结构
┌EXCHANGE 字典
交换两个字典的名称。
语法
EXCHANGE DICTIONARIES [db0.]dict_A AND [db1.]dict_B [ON CLUSTER cluster]另请参阅