Załóżmy taką sytuację, że trzeba oczyścić tabelę zamówień z przeterminowanych danych, czyli np. takich, których CreationDate
jest starsze niż doba. No i w bazie chodzi sobie jakiś job, który uruchamia procedurę, a w procedurze... no właśnie. Ja bym się spodziewał czegoś w rodzaju:
DELETE FROM Orders WHERE CreationDate < DATEADD(DAY, -1, SYSDATETIMEOFFSET())
Tymczasem w procedurze zastałem pobranie rekordów do tabeli tymczasowej i kursor, który jedzie po ID i usuwa rekordy po kolei. Wygląda to dziwnie, no ale się nie znam, więc pytanie do ekspertów - to potencjalnie może mieć jakiś głębszy sens wydajnościowy/transakcyjny czy po prostu jakiegoś ambitnego stażystę poniosły emocje?