Przeniesienie starych wierszy do archiwum za jednym razem — bez wyścigów
Archiwizowanie starych zamówień w dwóch instrukcjach (wstawienie do archiwum, a następnie usunięcie z tabeli głównej) jest podatne na wyścig: ktoś może wstawić nowy pasujący wiersz między krokami albo status może się zmienić. Pojedyncze zapytanie oparte na CTE obsługuje to atomowo.
Przenieś wszystkie opłacone zamówienia (status = 'paid') utworzone przed 1 stycznia 2024 roku z orders do orders_archive w pojedynczej instrukcji, bez stanu pośredniego. Archiwum powinno otrzymać kolumny id, status oraz amount.
Przykładowy oczekiwany wynik
Tak wygląda poprawna odpowiedź — liczba jej wierszy jest swoista i nie musi odpowiadać tabelom ze schematu.
| id | amount | status |
|---|---|---|
| 1 | 100.00 | paid |
| 2 | 200.00 | paid |
| 3 | 150.00 | paid |
Zaloguj się, aby zobaczyć historię rozwiązań
Zaloguj sięZaloguj się, aby korzystać z Mentora AI
Zaloguj się