2つの同一のテーブルがあり、テーブルから別のテーブルに行をコピーする必要があります。それを行う最良の方法は何ですか?(プログラムで数行だけコピーする必要があります。一括コピーユーティリティを使用する必要はありません)。
回答:
ID列がない限り、
INSERT INTO TableNew
SELECT * FROM TableOld
WHERE [Conditions]
SET IDENTITY_INSERT < table > ON
(そしてSET IDENTITY_INSERT < table > OFF
、あなたが挿入しようとしているテーブルの上に一時的に無効にID列に順に)。データセットの途中でいくつかの失われたレコードを復元しようとする私のために働いた。
ジャレットの答えは新しいテーブルを作成します。
スコットの答えは、同じ構造を持つ既存のテーブルに挿入されます。
異なる構造のテーブルに挿入することもできます:
INSERT Table2
(columnX, columnY)
SELECT column1, column2 FROM Table1
WHERE [Conditions]
SELECT * INTO < new_table > FROM < existing_table > WHERE < clause >
SELECT * INTO [SQLTEST].[dbo].[EMPLOYEES] FROM [SQLPROD].[dbo].[EMPLOYEES]