Anche se la mia non è una risposta alla tua domanda che volevo parlare di quanto TIMESTAMP
può essere frainteso.
Non si indica l'uso della colonna TIMESTAMP
nella domanda, ma il fatto che si sta tentando di aggiornarlo implica (per me) che si sta tentando di registrare quando i dati cambiano.
Dai un'occhiata a this article (ce ne sono molti altri in rete) riguardo l'utilizzo di TIMESTAMP
quando in realtà vuoi registrare la modifica utilizzando DATETIME
.
BOL dice:
di SQL Server timestamp tipo di dati non ha nulla a che fare con i tempi o date. I timestamp SQL Server sono numeri binari che indicano la relativa sequenza in cui le modifiche dei dati si sono svolte in un database. Il tipo di data/ora era originariamente implementato per supportare gli algoritmi di recupero di SQL Server .
Come Damien_The_Unbeliever dice che il tipo sia stato rinominato e la descrizione dice: tipo di dati
Il rowversion è solo un numero incrementale e non conserva una data o un momento.Per registrare una data o un'ora , utilizzare un tipo di datetime2 .
Naturalmente, se si utilizza il tipo di dati nel modo inteso ignorare tutto quanto sopra :)
Molto intuitivo nominare lì, non è vero ...: P –
@JacquesBosch - Sono d'accordo è molto fuorviante –