我需要提供与会员相对应的ID号列表。它们可以在任何给定时间处理10到10,000之间。我没有收集数据,解析数据并将其加载到DataTable或任何东西(C#),但我想在数据库中进行一些操作。将所有这些数据插入表中的最佳方法是什么?
我很确定我不想为每个语句运行一次并插入10,000次。
答案 0 :(得分:5)
我之前使用过SqlBulkCopy课做了几百万次加法。这看起来很方便。
答案 1 :(得分:2)
您可能不想执行10,000次INSERT,但可以将这10,000个插入包装到1个事务中。
答案 2 :(得分:0)
您可以为此目的尝试SSIS
答案 3 :(得分:0)
您可以像这样插入SELECT:
INSERT INTO myTable(a,b,c)SELECT d,e,f FROM anotherTable WHERE ...
希望它有所帮助。
答案 4 :(得分:0)
使用SQL Server 2008,您可以将C#数据集(实际的DataTable对象)作为table valued parameter传递。该参数在Transact-SQL代码中可用作您可以查询和操作的@table
变量。