Перейти к основному содержимому
Перейти к основному содержимому

Оператор RENAME

Переименовывает базы данных, таблицы или словари. Несколько объектов могут быть переименованы в одном запросе. Обратите внимание, что запрос RENAME с несколькими объектами является неатомарной операцией. Для атомарного обмена именами объектов используйте оператор EXCHANGE.

Синтаксис

RENAME [DATABASE|TABLE|DICTIONARY] name TO new_name [,...] [ON CLUSTER cluster]

RENAME DATABASE

Переименовывает базы данных.

Синтаксис

RENAME DATABASE atomic_database1 TO atomic_database2 [,...] [ON CLUSTER cluster]

RENAME TABLE

Переименовывает одну или несколько таблиц.

Переименование таблиц является легкой операцией. Если вы укажете другую базу данных после TO, таблица будет перемещена в эту базу данных. Однако каталоги с базами данных должны находиться в одной файловой системе. В противном случае будет возвращена ошибка. Если вы переименовываете несколько таблиц в одном запросе, операция не является атомарной. Она может быть частично выполнена, и запросы в других сессиях могут получить ошибку Table ... does not exist ....

Синтаксис

RENAME TABLE [db1.]name1 TO [db2.]name2 [,...] [ON CLUSTER cluster]

Пример

RENAME TABLE table_A TO table_A_bak, table_B TO table_B_bak;

Также можно использовать более простой sql:

RENAME table_A TO table_A_bak, table_B TO table_B_bak;

RENAME DICTIONARY

Переименовывает один или несколько словарей. Этот запрос может быть использован для перемещения словарей между базами данных.

Синтаксис

RENAME DICTIONARY [db0.]dict_A TO [db1.]dict_B [,...] [ON CLUSTER cluster]

См. также