Я новичок во временных таблицах. У нас есть следующая таблица в базе данных, с которой мы хотели бы отслеживать значения CLV клиента во времени. Вот скрипт CREATE таблицы:
CREATE TABLE [ana].[CLV](
[CustomerID] [varbinary](400) NOT NULL,
[Lifetime] [numeric](9, 6) NULL,
[NumberofOrders] [int] NULL,
[TotalCLV] [float] NULL,
[SysStartTime] [datetime2](7) GENERATED ALWAYS AS ROW START NOT NULL,
[SysEndTime] [datetime2](7) GENERATED ALWAYS AS ROW END NOT NULL,
PRIMARY KEY CLUSTERED
(
[CustomerID] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY],
PERIOD FOR SYSTEM_TIME ([SysStartTime], [SysEndTime])
) ON [PRIMARY]
WITH
(
SYSTEM_VERSIONING = ON ( HISTORY_TABLE = [ana].[CLVHistory] )
)
Используя запланированный оператор MERGE
, мы будем обновлять эту таблицу еженедельно или ежемесячно. Но вместо того, чтобы рассматривать отдельные записи, нам хотелось бы знать, как выглядит таблица до и после каждой MERGE
. Другими словами, анализ или моментальный снимок на определенный момент времени.
Когда я смотрю на собственную документацию Microsoft для путешествий во времени , кажется, что сценарий содержит другие параметры, такие как MEMORY_OPTIMIZED
и DATA_CONSISTENCY_CHECK
. Мне интересно, можно ли посмотреть на старые снимки без этих параметров. Достаточно ли текущей структуры таблицы, чтобы go вернулся во времени?