Skip to content
ClickHouse Docs
ClickHouse DocsClickHouse Docs

EXCHANGE

두 개의 테이블 또는 딕셔너리의 이름을 원자적으로 교환합니다. 이 작업은 임시 이름을 사용하는 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

쉼표로 구분하면 하나의 쿼리에서 여러 쌍의 테이블을 EXCHANGE할 수 있습니다.

예시

Querysql
-- 테이블 생성
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;
Responsesql
-- 이제 테이블 'a'는 'b'의 구조를 가지며, 테이블 'b'는 'a'의 구조를 가집니다

EXCHANGE DICTIONARIES

두 딕셔너리의 이름을 서로 교환합니다.

구문

EXCHANGE DICTIONARIES [db0.]dict_A AND [db1.]dict_B [ON CLUSTER cluster]

관련 항목

Navigation