Как скопировать строку из одной таблицы SQL Server в другую


У меня есть две одинаковые таблицы и нужно скопировать строки из таблицы в другую. Каков наилучший способ сделать это? (Мне нужно программно скопировать всего несколько строк, мне не нужно использовать утилиту массового копирования).

5 71

5 ответов:

пока нет столбцов идентификаторов вы можете просто

INSERT Table2
SELECT * FROM Table1
WHERE [Conditions]

альтернативный синтаксис:

INSERT tbl (Col1, Col2, ..., ColN)
  SELECT Col1, Col2, ..., ColN
  FROM Tbl2
  WHERE ...

запрос select может (конечно) включать выражения, операторы case, константы/литералы и т. д.

ответ Джарретта создает новую таблицу.

ответ Скотта вставляется в существующую таблицу с той же структурой.

вы также можете вставить в таблицу с различной структурой:

INSERT Table2
(columnX, columnY)
SELECT column1, column2 FROM Table1
WHERE [Conditions]
INSERT INTO DestTable
SELECT * FROM SourceTable
WHERE ... 

работает в SQL Server

SELECT * INTO < new_table > FROM < existing_table > WHERE < clause >