Как реализовать автоматические метки времени для изменений записей (SQL Server)

Я привык использовать поля "changed_at" в моей базе данных MySQL, которые Ruby on Rails автоматически обновляет при изменении записи.

теперь я использую ASP.NET MVC с SQL Server 2008, и мне интересно, как я буду продолжать получать ту же функциональность. Есть ли у SQL Server возможность автоматического обновления поля при обновлении?

4 ответов


тип данных "отметка времени" дает вам двоичное значение, которое автоматически обновляется каждый раз, когда ваше поле изменяется, но это не даст вам хорошее значение даты/времени.


вы можете использовать триггер или просто обновить его в sp, который выполняет обновление.


сделать это...

UPDATE YourTable
    SET Column1=@...
        ,@Column2=@....
        ,@Column3=@...
        ,changed_at=GETDATE()
    WHERE ...

вы также можете использовать rowversion, который имеет тот же эффект, но идти вперед

ссылка -http://msdn.microsoft.com/en-us/library/ms182776.aspx