У нас есть две таблицы, Events
и EventsLog
. Таблица Events
показана ниже
Таблица EventsLog
используется для хранения истории изменений, внесенных в таблицу Events
с помощью триггера ОБНОВЛЕНИЯ в таблице Events
.
Поскольку временные таблицы были добавлены в SQL 2016, теперь мы хотим использовать system_versioning для ведения журнала наших изменений в таблице Events
.
Мы настроили новую таблицу EventsTemporal
для переноса существующих данных, и таблица EventsTemporal_History
работает хорошо, регистрируя исторические записи из EventsTemporal
.
Однако мы не можем переопределить SysStartTime
и SysEndTime
. В настоящее время мы можем применять default
к этим полям только при выполнении инструкции INSERT.
Вопрос в том, можем ли мы, используя любой возможный метод, переопределить поля SysStartTime
и SysEndTime
, чтобы мы могли ВСТАВИТЬ в них значащие datetime2
, чтобы использовать таблицу EventsTemporal_History
?
Вот так сейчас выглядит таблица EventsTemporal
. Обратите внимание на поле SysStartTime
, мы хотим иметь возможность заполнять эти поля нашей собственной «отметкой времени» и не использовать SQL по умолчанию.
В идеале мы хотим иметь возможность заполнять эти поля, как показано ниже.