Bulk如何在Sql中插入

时间:2011-11-13 12:40:45

标签: sql sql-server sql-server-2008 insert bulkinsert

我在两个数据库中有两个相似的表。 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 )

1 个答案:

答案 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