sql-server - 批量插入时保留行顺序

标签 sql-server wpf vb.net t-sql

我正在尝试从文本文件批量插入表格并保留行顺序。我这样做有两个原因:

  • 我需要检查第一行是否是标题,如果是则将其删除
  • 我正在报告“错误”(列值应该是什么与给出的值之间的差异,即字母数字字段中的字母),并且需要告诉他们它们出现在文本文件中的哪一行。同时,我仍然需要插入这些行,只是在有错误的列上插入空白值。

为了进行批量插入,我首先将其插入临时表中,然后将清理后的值插入主表中。但临时表似乎是随机顺序的。

输入文件没有任何特定的顺序,因此我无法使用排序查询来解决此问题。

关于我可以在这里做什么有什么建议吗?

最佳答案

对于要插入的表或临时表,只需有一列包含 IDENTITY PROPERTY

create table #temp (ID int identity(1,1), otherColumn varchar(16), ...)
--do bulk insert

但是,对您来说更理想的可能是在源文件中创建唯一的行号。

关于sql-server - 批量插入时保留行顺序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45841244/

相关文章:

sql-server - MSSql 查询问题

sql-server - 使用SQLAlchemy将数据从MS SQL迁移到PostgreSQL

c# - 如何开始使用 MVVM 模型实现串口控制?

javascript - 从 VB 代码后面调用 javascript 代码时遇到问题

vb.net - 如何将文本参数传递给 ProgressChanged?

c# - 使用 SQL 从多个表中获取主键数据

sql - 在此上下文中不允许使用名称 "X"。有效表达式是常量、常量表达式和变量。不允许使用列名

wpf - CanExecuteChanged 和 CommandManager.RequerySuggested 的实际任务是什么?

c# - AvalonDock 在文档关闭时导致崩溃

regex - VB.Net正则表达式,获取可能包含单引号的单词,即单引号之间的单词