Как скопировать строку из одной таблицы SQL Server в другую - PullRequest
77 голосов
/ 11 сентября 2008

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

Ответы [ 5 ]

103 голосов
/ 11 сентября 2008

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

INSERT Table2
SELECT * FROM Table1
WHERE [Conditions]
68 голосов
/ 11 сентября 2008

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

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

Запрос на выборку может (конечно) включать выражения, операторы case, константы / литералы и т. Д.

39 голосов
/ 11 сентября 2008

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

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

Вы также можете вставить в таблицу с другой структурой:

INSERT Table2
(columnX, columnY)
SELECT column1, column2 FROM Table1
WHERE [Conditions]
6 голосов
/ 11 сентября 2008
INSERT INTO DestTable
SELECT * FROM SourceTable
WHERE ... 

работает в SQL Server

5 голосов
/ 11 сентября 2008
SELECT * INTO < new_table > FROM < existing_table > WHERE < clause >
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...