SQL - 使用SELECT插入多行

时间:2014-07-18 10:07:42

标签: c# bulkinsert sql-insert sql-server-2014 multiple-insert

我正在寻找一种有效的方法来执行多行的插入,其中包含来自多个表的一些值!

基本上我正在解析XML并创建一个自定义对象列表,然后我想将其插入到我的数据库中。这些行的某些值包含在XML中,但其他行需要从其他表中检索。

示例:

两张桌子:

Person: 
  PersonID (identity), Name (nvarchar), CountryID

Country (a lookup table including my id and the one I get from the XML) 
  CountryID (identity) , CountryXMLID, Name

我在C#中查看我的列表,创建一个团队列表(自定义对象),然后我想平均每分钟1000行:

INSERT INTO Person (Name, CountryID)
SELECT 'George', CountryID FROM Countries WHERE CountryXMLID = '1';

人名和国家/地区Feed ID包含在XML中。我想在Person表中使用ID而不是XML中的ID ..

有人可以建议我以有效的方式执行这些插入。

我一直在考虑创建一个DataTable,然后使用SQLBulkCopy,使用存储过程来运行数据表的循环,并为每个执行上述语句,以及ORM,如EntityFramework,Telerik Data Access等。

0 个答案:

没有答案