Как скопировать таблицу в MS SQL ?

Довольно долго рыскал в Enterprise Manager в поисках способа копирования таблицы с полным содержимым и структурой – найти так и не смог. Оказалось, что с этой задачей прекрасно справляется простейший запрос:

SELECT * INTO table_copy FROM original

table_copy создается автоматически при выполнении запроса. Указав условие WHERE мы можем скопировать часть таблицы, которая удовлетворяет нашим требованиям.

Если данные копировать не нужно, то придется выполнить 2 запроса

SELECT TOP 1 * INTO table_copy FROM original
TRUNCATE TABLE table_copy

Корируем всего лишь одну запись, для того чтобы было проще удалять и не занимать дополнительного дискового пространства. В принципе, можно было бы сделать финт ушами

SELECT * INTO table_copy FROM original WHERE 1=2

Только в этом случае не будут скопированы индексы. Так что первый способ надежнее, хотя и несколько длиннее в написании 😉



Digital Ocean
Провайдер облачного хостинга - заведи свой виртуальный сервер всего за $5 в месяц !

Leave a Reply