SQL - 在给定列值发生后获取所有行

时间:2018-03-14 15:22:38

标签: sql

我正在处理由VFPRO生成的平面文件,这些文件的行ID存储为字符串。他们看起来像这样......

_5261048AB_5261048WX_526104FAZ_526105DBB_526105OUH

我正在编写一个c#程序,它定期检查这些文件,获取一些值并将它们移动到sql数据库。我可以获取添加到数据库的最后一行的id值,但我想只选择在该值复制之后出现的行。

因此,如果添加到数据库的最后一行的值为_526104FAZ,我只想获取_526105DBB之后的行, 来自平面文件的_526105OUH。这可能吗?行按时间顺序在平面文件中创建。通常情况下,我可以做一些微不足道的事情,比如

WHERE Create_Date > Last_Date

SELECT * WHERE Id > last Id

但是这些Ids是随机字符串,在平面文件中我不知道如何处理。

我在c#中使用OleDbDataAdapter来运行文件上的sql命令,如果有帮助的话。

1 个答案:

答案 0 :(得分:0)

我建议您获取流程运行时生成的所有文件,然后将它们加载到SQL中的临时表中。

完成加载到舞台后,通过左连接原始表和id上的舞台将数据插入到原始(生产)表中,其中原始表中的id为null。