当前位置: 首页 > 面试题库 >

批量更新SQL Server C#

萧渝
2023-03-14
问题内容

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

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

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


问题答案:

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


 类似资料:
  • 一、简介 方便用户在设置URL规则时更新url,无需手动去更新各页面URL。只需选择就能批量更新URL即可。 二、功能演示 1.批量更新URL 1、仅当内容页URL规则发上变化时,请批量更新,地址未改变时,不需要更新 。 2、规则设置:设置 > 相关设置 > 管理栏目 > 添加或修改栏目 选择需要更新的模型和栏目,输入每轮更新的信息数目提交则完成批量更新URL操作。如下图所示:

  • 一、简介 主要用来操作黄页模块的相关更新操作 ! 1、仅当启用、关闭伪静态时,请批量更新所有链接地址,除此,不需要更新 。 2、启用伪静态在模块配置里。 3、更新企业URL,只需选中企业库模型即可,不必选分类。 二、功能演示

  • 问题内容: 有没有办法在续集中进行批量追加。另外,我可以指定用于检查重复项的键吗? 我尝试了以下操作,但没有成功: 批量创建效果不错。上面的语句总是在数据库中创建新条目。 问题答案: 来自官方sequelizejs参考。 可以通过使用该选项来完成。 例如这样: 是一个字段数组,当主键(或可能是唯一键)与行匹配时将更新。确保您的模型中至少有一个唯一字段(让我说id),这两个字段中都包含upsert。

  • 我有两个结构相同的表,我想使用另一个表的数据更新一个表,匹配主键。SQLite有一个with(CTE)语句,但以下语句不起作用(sqlite3 v.3.29.0): 我尝试过使用“选择main.ID作为ID,选择temp.Desc作为Desc”,但得到了相同的错误消息。

  • spring-data-mongodb从1.9.0.release开始支持批量更新。 mongoTemplate具有名为void save(Object objectToSave)的函数;我想插入/更新整个记录,但不是某些特定字段。有什么方法或函数可以使更新类无效吗?

  • 我有一个在< code>postgresql数据库上使用< code>typeorm的更新查询,如下所示,该查询频繁地在20个项目的列表上执行(每30秒一次)。大约需要。更新12秒,对我的极限来说已经很多了。 是否有可能在单个查询中执行这样的批量更新,而不是迭代其他项?如果是的话-怎么做? 和对于每个项目都是唯一的。