Sqlの一括挿入方法

私は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

コメントする

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です