Sql запрос для вставки всех записей из одной таблицы в другую существующую таблицу

#sql-server

#sql-сервер

Вопрос:

Я использую sql Server в качестве ядра базы данных. Мне нужен sql-запрос, чтобы я мог вставить все записи из одной таблицы в другую существующую таблицу. Обе таблицы находятся в одной базе данных.

Мне нужно использовать этот запрос в моем коде.

Комментарии:

1. Этот вопрос не так прост, нам нужно гораздо больше подробностей об обеих таблицах и о том, какие поля существуют в каждой. Есть ли у вас поле идентификации, которое автоматически увеличивается? Если это так, вам нужно отключить это для вставки, чтобы сохранить те же идентификаторы

Ответ №1:

  insert into destination_table ( field1, field2, field3, ... )
 select field1, field2, field3, ...
 from source_table
  

Комментарии:

1. @User: этот запрос будет работать. Вам необходимо убедиться, что все поля выстроены правильно и что вы не пытаетесь вставить записи, нарушающие ограничение.

Ответ №2:

Предполагая, что все поля совпадают (находятся в одинаковом порядке и одного типа)

 INSERT INTO TargetTable SELECT * FROM SourceTable
  

Комментарии:

1. Это создало бы новую целевую таблицу. OP указал, что цель уже существует.

2. Я уже использовал этот код. Но этот запрос не работает, если таблица назначения уже существует

3. Я думал, что SELECT INTO создал новую целевую таблицу и прервется, если таблица уже существует.

4. это сработает, если мы также упомянем поля insert в destination_table ( field1, field2, field3, … ) выберите field1, field2, field3 из source_table