从数据表更新sql server表的最佳方法

时间:2015-12-10 18:59:23

标签: .net sql-server datatable

我们获得了使用更新sql server数据库所需的excel电子表格。我可以轻松地将电子表格读入数据表,它可以有数千行。所以我可以使用类似的数据表:

id    data
1       A
2       B

等。

我有一个这样的数据库表:

id    data    (more columns)
1       Y
2       Z

可能有多个数据字段,这是不可预测的。我需要将id 1的数据更改为A.

我有一个文本框,可以输入SQL UPDATE ITEMS SET data = {0} WHERE id = {1}将执行所有更新。

我可以根据情况需要修改文本框中的SQL。我还可以将数据表中的列分配给占位符,在此示例中为{0}和{1}。

我想知道我是否可以某种方式使用SQL OR加入数据表,如果将整个数据表插入临时表然后进行批量更新是值得的。或者我应该保持原样并循环通过数据表。

1 个答案:

答案 0 :(得分:1)

如果我理解正确,您可以使用MERGE(https://msdn.microsoft.com/en-us/library/bb510625.aspx)语句。创建DataTable并使用excel电子表格中的数据填充它。然后将这些数据作为(先前创建的)自定义表类型变量的参数传递给sql过程,该过程使用merge语句来更新数据。它非常快!