我正在尝试从文本文件批量插入表格并保留行顺序。我这样做有两个原因:
- 我需要检查第一行是否是标题,如果是则将其删除
- 我正在报告“错误”(列值应该是什么与给出的值之间的差异,即字母数字字段中的字母),并且需要告诉他们它们出现在文本文件中的哪一行。同时,我仍然需要插入这些行,只是在有错误的列上插入空白值。
为了进行批量插入,我首先将其插入临时表中,然后将清理后的值插入主表中。但临时表似乎是随机顺序的。
输入文件没有任何特定的顺序,因此我无法使用排序查询来解决此问题。
关于我可以在这里做什么有什么建议吗?
最佳答案
对于要插入的表或临时表,只需有一列包含 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/