一尘不染

批量更新SQL Server C#

sql

我有一个具有主键mid和称为的列的270k行数据库value,并且我有一个带有Mid和值的文本文件。现在,我想更新表,以便将每个值分配给正确的中间值。

我当前的方法是从C#中读取文本文件,并为读取的每一行更新表中的一行。必须有一种更快的方式来做我感觉到的事情..有什么想法吗?

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


阅读 194

收藏
2021-03-08

共1个答案

一尘不染

您可以使用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

假设您要分割逗号分隔符。如果使用空格等其他字符,请将FIELDTERMINATOR更改为关联的字符。

编辑(以根据我的评论进行更新):

UPDATE RealTable
SET value = tt.value
FROM
  RealTable r
INNER JOIN temp_table tt ON r.mid = tt.mid
2021-03-08