Мы используем «версионные» столбцы в нашей системе обработки заказов.
+----------------------------+
| ID | VERSION |
+----+-----------------------+
| 1 | '09-20-2011 12:01 AM' |
+----+-----------------------+
| 1 | '09-20-2011 12:06 AM' |
+----+-----------------------+
| 2 | '09-21-2011 02:01 AM' |
+----+-----------------------+
| 2 | '09-22-2011 10:21 AM' |
+----+-----------------------+
Уникальный ключ - это составной ключ ID + VERSION.
Должны ли мы написать представление, что INNER JOINSвсе идентификаторы с совпадающим MAX (VERSION)?
Или мы должны сделать что-то подобное?
set ANSI_NULLS ON
set QUOTED_IDENTIFIER ON
GO
ALTER TRIGGER [dbName].[Trigger_Example] ON [dbName].[Example]
AFTER INSERT, UPDATE
AS BEGIN
--Copy inserted data to Archived_Example
INSERT INTO Archived_Example
SELECT ID, CURRENT_TIMESTAMP AS VERSION FROM inserted
END
Какая из этих двух шкал лучше?Который окажется меньшей головной болью?
(Моя первая мысль: управление архивами при вставке сохранит «текущую» таблицу тонкой. Управление «текущей» таблицей как представлением ... то же самое«Разное»)