У меня есть две идентичные таблицы и вам нужно скопировать строки из таблицы в другую. Каков наилучший способ сделать это? (Мне нужно программно скопировать всего несколько строк, мне не нужно использовать утилиту массового копирования).
Как скопировать строку из одной таблицы SQL Server в другую
Ответ 1
Пока нет столбцов идентификаторов, вы можете просто
INSERT INTO TableNew
SELECT * FROM TableOld
WHERE [Conditions]
Ответ 2
Альтернативный синтаксис:
INSERT tbl (Col1, Col2, ..., ColN)
SELECT Col1, Col2, ..., ColN
FROM Tbl2
WHERE ...
Запрос select может (конечно) включать выражения, аргументы case, константы/литералы и т.д.
Ответ 3
Ответ Jarrett создает новую таблицу.
Скотт отвечает на вставку в существующую таблицу с той же структурой.
Вы также можете вставить в таблицу с разной структурой:
INSERT Table2
(columnX, columnY)
SELECT column1, column2 FROM Table1
WHERE [Conditions]
Ответ 4
INSERT INTO DestTable
SELECT * FROM SourceTable
WHERE ...
работает в SQL Server
Ответ 5
SELECT * INTO < new_table > FROM < existing_table > WHERE < clause >