У меня есть таблица ABC в базе данных DB. Я хочу создать копии ABC с именами ABC_1, ABC_2, ABC_3 в той же БД. Как я могу это сделать, используя Management Studio (желательно) или SQL-запросы?
Это для SQL Server 2008 R2.
sql
sql-server-2008
tsql
sql-server-2008-r2
sequel.learner
источник
источник
Ответы:
Использование
SELECT ... INTO
:Это создаст новую таблицу
ABC_1
с той же структурой столбцов, чтоABC
и те же данные, и с такими же данными. Однако ограничения (например, ключи, значения по умолчанию) не копируются.Вы можете запускать этот запрос несколько раз с другим именем таблицы каждый раз.
Если вам не нужно копировать данные, только чтобы создать новую пустую таблицу с той же структурой столбцов, добавьте
WHERE
предложение с ложным выражением:источник
SELECT TOP(0) *
чище, чем метод всегда ложныхWHERE
утвержденийСкопируйте схему (сгенерируйте DDL) через пользовательский интерфейс SSMS
В SSMS разверните базу данных в обозревателе объектов , перейдите в « Таблицы» , щелкните правой кнопкой мыши интересующую вас таблицу и выберите « Сценарий таблицы как» , « Создать в» , « Новое окно редактора запросов» . Выполните поиск и замену ( CTRL + H ), чтобы изменить имя таблицы (т.е. введите
ABC
в поле « Найти» иABC_1
в поле « Заменить на», затем нажмите « ОК» ).Скопировать схему через T-SQL
Другие ответы, показывающие, как это сделать с помощью SQL, также работают хорошо, но разница с этим методом заключается в том, что вы также получите любые индексы, ограничения и триггеры.
Копировать данные
Если вы хотите включить данные, после создания этой таблицы запустите приведенный ниже сценарий, чтобы скопировать все данные из ABC (сохраняя те же значения идентификаторов, если у вас есть поле идентификации):
источник
IDENTITY_INSERT
значение ON, чтобы разрешить установку столбца идентификаторов «вручную», вы смешали порядок в своем примере. Кроме того , вы должны поименный список ваших колонокЕсли вы хотите продублировать таблицу со всеми ее ограничениями и ключами, выполните следующие действия:
Затем для копирования данных запустите следующий скрипт:
источник
1-й вариант
2-й вариант: используйте SSIS, то есть щелкните правой кнопкой мыши базу данных в проводнике объектов> все задачи> экспортировать данные
источник
Это еще один вариант:
источник
используйте sql server manegement studio или netcat, и вам будет проще манипулировать sql
источник
Вам нужно написать SSIS, чтобы скопировать таблицу и ее данные, ограничения и триггеры. У нас в организации есть программное обеспечение Kal Admin от kalrom Systems, у которого есть бесплатная версия для загрузки (я думаю, что функция копирования таблиц не является обязательной)
источник