191

SQL Serverで同じスキーマを持つテーブルから別のテーブルにデータをコピー/追加する方法は?

編集:

クエリがあるとしましょう

select * 
into table1 
from table2 
where 1=1 

table1と同じスキーマとデータで作成しますtable2

データ全体を既存のテーブルにのみコピーするためのこのような短いクエリはありますか?

4

11 に答える 11

377

両方のテーブルが本当に同じスキーマである場合:

INSERT INTO newTable
SELECT * FROM oldTable

それ以外の場合は、列名を指定する必要があります (すべての列に値を指定し、のスキーマnewTableと同じ順序で列を選択する場合、 の列リストはオプションです)。newTable

INSERT INTO newTable (col1, col2, col3)
SELECT column1, column2, column3
FROM oldTable
于 2012-11-05T17:56:46.413 に答える
26

新しいテーブルが存在せず、すべてを含む古いテーブルのコピーを作成したい場合の簡単な方法は、SQL Serverで次のように機能します。

SELECT * INTO NewTable FROM OldTable
于 2017-10-13T14:15:43.743 に答える
23

これはそれを行う適切な方法です:

INSERT INTO destinationTable
SELECT * FROM sourceTable
于 2012-11-05T17:58:27.337 に答える
10

これを試して:

INSERT INTO MyTable1 (Col1, Col2, Col4)
   SELECT Col1, Col2, Col3 FROM MyTable2
于 2012-11-05T17:56:14.743 に答える
6

これを試して:

Insert Into table2
Select * from table1
于 2012-11-05T17:59:13.177 に答える
4
INSERT INTO DestinationTable(SupplierName, Country)
SELECT SupplierName, Country FROM SourceTable;

必須の列名は同じではありません。

于 2016-06-29T03:23:14.427 に答える