J'ai une colonne dans ma table, disons updateStamp
. Je voudrais obtenir une approche pour mettre à jour ce champ avec un nouveau numéro séquentiel lors de la mise à jour de la ligne.SQL Server - comment générer un numéro séquentiel unique sur la mise à jour
La base de données a beaucoup de trafic, principalement lu, mais plusieurs mises à jour simultanées peuvent également se produire par lots. Par conséquent, la solution devrait provoquer des verrous minimes.
La raison de cette exigence est que j'ai besoin d'une solution permettant aux clients de parcourir la table vers l'avant et si une ligne est mise à jour, elle devrait revenir sur le jeu de résultats.
Ainsi, la requête serait alors comme
SELECT *
FROM mytable
WHERE updateStamp > @lastReturnedUpdateStamp
ORDER BY updateStamp
Malheureusement horodatages ne fonctionnent pas ici parce que plusieurs mises à jour pourraient se produire en même temps.
Qu'est-ce que version de SQL Server êtes-vous? Si SQL Server 2008 pense que 'change tracking' fait ce dont vous avez besoin et contourne les problèmes subtils avec' timestamps' et les temps de validation des transactions. –
2008 R2, j'utilise. Merci pour suggestion! Je n'étais pas au courant de cette fonctionnalité. Bien que ce soit une surpêche pour mes besoins. – user431529