我已经创建了一个表格,可以随时间跟踪对象的各种属性。
Id | Attribute1 | Attribute2 | Attribute3 | StartDate | EndDate
------------------------------------------------------------------
01 | 100 | Null | Null | 2004-02-03 | 2006-04-30
01 | 100 | Null | D | 2006-05-01 | 2010-11-06
01 | 150 | Null | D | 2010-11-07 | Null
02 | 700 | 5600 | Null | 1998-09-27 | 2002-01-27
每天都有新数据(约 10 万条记录)出现。我想要做的是将每条记录与该 id 的当前数据进行比较,然后:
a) 如果属性匹配,什么也不做。b) 如果属性不同,则更新当前记录,使 EndDate 为当前日期,并使用新属性创建新记录。c) 如果该 id 没有任何数据,则创建一条新记录。
我的问题是,最有效的方法是什么?
我可以编写一个脚本来遍历每条记录,进行比较,并酌情更新表格,但我觉得这是蛮力,而不是智能解决方案。
这是使用游标的好地方吗?