Как скопировать таблицу в 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

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

Посты по теме:

  • Пока что ничего не написано

Leave a Reply