У меня следующая грубая структура:
Object -> Object Revisions -> Data
Данные могут быть разделены между несколькими объектами.
То, что я пытаюсь сделать, это очистить старые ревизии объектов. Я хочу сохранить первый, активный и разброс ревизий, чтобы сохранить последние изменения за определенный период времени. Данные могут сильно изменяться в течение 2 дней, а затем оставляться в покое на несколько месяцев, поэтому я хочу сохранить последнюю версию до начала изменений и до конца изменения нового набора.
В настоящее время я использую курсор и временную таблицу для хранения идентификаторов и даты между изменениями, чтобы я мог выбрать низко висящий фрукт, чтобы избавиться от него. Это означает использование @LastID, @LastDate, обновлений и вставок во временную таблицу и т. Д ...
Есть ли более простой / лучший способ вычислить разницу в дате между текущей строкой и следующей строкой в моем начальном наборе результатов без использования курсора и временной таблицы?
Я на SQL Server 2000, но был бы заинтересован в любых новых функциях 2005, 2008, которые также могут помочь с этим.