T-SQL Comment mettre à jour le fond/la dernière ligne uniquement?

Je veux mettre à jour le fond/la dernière ligne de mon tableau. J'ai essayer de mettre en œuvre cette solution, mais rien ne semble que la syntaxe correcte:

UPDATE TOP(1) @ResultTable
SET PeriodLastDate=DATEADD(DAY,-1,PeriodLastDate)
ORDER BY PeriodID DESC

OU

UPDATE TOP(1) @ResultTable
SET PeriodLastDate=DATEADD(DAY,-1,PeriodLastDate)
FROM @ResultTable
ORDER BY PeriodID DESC

Ce que j'ai jusqu'à maintenant, le travail, c'est:

UPDATE @ResultTable
SET PeriodLastDate=DATEADD(DAY,-1,PeriodLastDate)
WHERE PeriodID=(SELECT COUNT(PeriodID) FROM @ResultTable)-1

mais cela ne fonctionne toujours, comme dans ma fonction de certains enregistrements sont supprimés et je ne suis pas toujours d'avoir PeriodIDs incrémentée de 1.

OriginalL'auteur gotqn | 2012-11-08