我们获得了使用更新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加入数据表,如果将整个数据表插入临时表然后进行批量更新是值得的。或者我应该保持原样并循环通过数据表。
答案 0 :(得分:1)
如果我理解正确,您可以使用MERGE(https://msdn.microsoft.com/en-us/library/bb510625.aspx)语句。创建DataTable并使用excel电子表格中的数据填充它。然后将这些数据作为(先前创建的)自定义表类型变量的参数传递给sql过程,该过程使用merge语句来更新数据。它非常快!