私は2つのデータベースに2つの同様のテーブルを持っています。
DB1のPerson_Table1とDB2のPerson_Table2。
DB2のPerson_Table1からDB1のPerson_Table2への一括挿入が必要です。
両方のタブの列名は似ています。両方の表の列の数が等しい場合も列の数が多いです。どのように私は休憩のような一括挿入を持つことができます:
insert into DB2.dbo.Person_Table2 (*) (SELECT * FROM DB1.dbo.Person_Table1 )
ベストアンサー
私はいつも明示的な列名を使用します – そのようなINSERTを実行するときには非常に明確で安全です。
INSERT INTO DB2.dbo.Person_Table2(Col1, Col2, ...., ColN)
SELECT Col1, Col2, ...., ColN
FROM DB1.dbo.Person_Table1
そのようにして、ターゲット表の1つの列を例えば定数値またはSQL関数の値(
GETDATE()
など)
INSERT INTO DB2.dbo.Person_Table2(Col1, Col2, ...., ColN, ModifyDate)
SELECT Col1, Col2, ...., ColN, GETDATE()
FROM DB1.dbo.Person_Table1