Chcę zaktualizować dolny/ostatni wiersz w mojej tabeli. Ja staram się realizować this rozwiązanie, ale nic nie wydaje się poprawną składnię:T-SQL Jak zaktualizować tylko dolny/ostatni wiersz?
UPDATE TOP(1) @ResultTable
SET PeriodLastDate=DATEADD(DAY,-1,PeriodLastDate)
ORDER BY PeriodID DESC
LUB
UPDATE TOP(1) @ResultTable
SET PeriodLastDate=DATEADD(DAY,-1,PeriodLastDate)
FROM @ResultTable
ORDER BY PeriodID DESC
Co mam do teraz pracuje jest:
UPDATE @ResultTable
SET PeriodLastDate=DATEADD(DAY,-1,PeriodLastDate)
WHERE PeriodID=(SELECT COUNT(PeriodID) FROM @ResultTable)-1
ale to nie zawsze działa, jak w mojej funkcji niektóre rekordy są usuwane i nie zawsze mam PeriodIDs inkrementowane z 1.