Тип столбца TIMESTAMP
переименовывается, в основном, с SQL Server 2008 и выше, он будет называться ROWVERSION
- он не исчезнет, просто получил новое имя.
Теперь столбцы TIMESTAMP действительно недоступны для записи - поэтому, по сути, в вашем триггере необходимо выполнить инструкцию INSERT, в которой перечислены все столбцы, которые вы хотите записать, и пропустить TIMESTAMP.
TIMESTAMP / ROWVERSION - ваша лучшая ставка - гарантируется, что только этот тип столбца всегда будет уникальным и всегда будет увеличиваться для каждой последующей вставки. Любой из столбцов, связанных с DATE, может иметь дубликаты (в SQL Server 2005 DATETIME имеет точность 3,33 мс, поэтому вы обязательно можете иметь дубликаты).
Возможно, вы захотите использовать комбинацию TIMESTAMP для точности и уникальности и DATETIME для удобочитаемости. TIMESTAMP обрабатывается SQL Server автоматически, для LastModifiedDate DATETIME
вы можете определить DEFAULT CONSTRAINT
из GETDATE()
, чтобы для каждой вставки записывалась текущая дата / время.