我在两个数据库中有两个相似的表。 DB1中的Person_Table1和DB2中的Person_Table2。 我希望从DB1中的Person_Table1到DB2上的Person_Table2进行批量插入。
两个表格中的列名相似。两个表中的列数相等,列数也很多。我怎么能有一个批量插入,如fallowing查询:
insert into DB2.dbo.Person_Table2 (*) (SELECT * FROM DB1.dbo.Person_Table1 )
答案 0 :(得分:1)
我总是使用显式列名 - 只是为了在执行这样的INSERT时非常清楚和安全:
INSERT INTO DB2.dbo.Person_Table2(Col1, Col2, ...., ColN)
SELECT Col1, Col2, ...., ColN
FROM DB1.dbo.Person_Table1
那样,你也可以这样将目标表中的一列替换为例如常量值或SQL函数的值(如GETDATE()
或其他)
INSERT INTO DB2.dbo.Person_Table2(Col1, Col2, ...., ColN, ModifyDate)
SELECT Col1, Col2, ...., ColN, GETDATE()
FROM DB1.dbo.Person_Table1