批量更新SQL Server C#

Fre*_*ek8 3 .net c# sql t-sql sql-server

我有一个270k行的数据库,主键mid和一个名为的列value,我有一个带有mid和值的文本文件.现在我想更新表格,以便将每个值分配给正确的mid.

我目前的方法是从C#读取文本文件,并在表中为我读取的每一行更新一行.必须有更快捷的方式来做我觉得的事情......任何想法?

编辑:表中还有其他列,所以我真的需要一个根据mid 更新的方法.

Dar*_*ren 7

您可以使用SQL Server导入和导出向导:

http://msdn.microsoft.com/en-us/library/ms141209.aspx

或者,您可以使用BULKTSQL语句:

BULK
INSERT YourTable
FROM 'c:\YourTextFile.txt'
WITH
(
FIELDTERMINATOR = ',',
ROWTERMINATOR = '\n'
)
GO


SELECT * FROM YourTable
GO
Run Code Online (Sandbox Code Playgroud)

假设您正在分割逗号分隔符.如果您正在使用其他字符(如空格),请将FIELDTERMINATOR更改为关联字符.

编辑(从我的评论中获得更新):

UPDATE RealTable
SET value = tt.value
FROM
  RealTable r
INNER JOIN temp_table tt ON r.mid = tt.mid
Run Code Online (Sandbox Code Playgroud)