更新数据集
假设我有 2 个数据集:A 和 B,它们具有相同的列。我想要获得“距离路径” - 需要完成最少的操作,才能将数据集 A 更改为 B。
我可以假设,A 和 B 只包含很少的差异,并且我正在寻找更好的东西,然后:
- 删除所有A的元素
- 将B的所有元素插入到A中,
这如何归档?
Lets say I have 2 datasets: A and B, that have the same columns. I want to get the 'distance path' - minimal operations needed to be done, to change datasets A to B.
I can assume, that A and B contain only in few differences and I'm looking for something better, then:
- remove all A's elements
- insert all B's elements into A
How can this be archived?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
如果您知道如何使用 SQL:
将为您提供 A 中 B 中没有的所有字段。
现在执行
,然后执行(或不执行,具体取决于您的需要)。
现在表
a
和b
将是相同的。像这样的 Delphi 代码应该可以解决问题,但确切的代码取决于您的数据库和使用的查询组件。
If you know how to use SQL:
Will give you all fields in A that are not in B.
Now do
And then do (or don't do depending on your needs).
Now table
a
andb
will be the same.Delphi code like this should do the trick, but the exact code depends on your database and the query components used.
如果你想知道如何将A转化为B,你需要知道A和B之间的区别是什么。有一个非常简单的通用算法,尽管它可能会更复杂,具体取决于数据集中有多少字段以及 A 到 B 中的字段数量可能不同。但总体思路是:对
数据集。通过可返回
小于
、等于
或大于
的比较来比较这两个项目。完成后,您将获得 A 和 B 之间差异的完整列表,这将使将 A 转换为 B 所需的步骤易于计算。
If you want to find out how to transform A into B, you need to know what the difference between A and B is. There's a very simple general algorithm for that, though it might be more complicated depending on how many fields are in your dataset and how many of them can be different from A to B. But here's the general idea:
datasets. Compare the two items with a comparison that can return
less than
,equal
orgreater than
.Once you're done, you'll have a full list of differences between A and B, which will make the steps needed to transform A to B simple to calculate.