#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