Я бы хотел, после определенного периода, начать перезаписывать начальные записи с минимальными усилиями, чтобы найти начальные записи
Мы храним данные в архивных таблицах, используя триггер, как предлагали другие. Наша архивная таблица имеет дополнительный столбец для AuditDate и хранит «удаленные» данные - то есть предыдущую версию данных. Текущие данные хранятся только в фактической таблице.
Мы удаляем таблицу Archive с бизнес-правилом в духе «Удалить все архивные данные старше 3 месяцев, если существует хотя бы одна архивная запись младше 3 месяцев; удалить все архивные данные старше 6 месяцев»
Таким образом, если за последние 3 месяца цены не изменились, у вас все равно будет запись об изменении цены за период 3-6 месяцев назад.
(Спросите, нужен ли вам пример самореферентного соединения для удаления или триггер для сохранения изменений в таблице Archive)