Verplaats oude rijen in één keer naar het archief — zonder race conditions
Oude orders archiveren in twee statements (invoegen in het archief, daarna verwijderen uit de hoofdtabel) is gevoelig voor race conditions: tussen de stappen door kan iemand een nieuwe rij invoegen die aan de voorwaarde voldoet, of kan een status omslaan. Eén enkele query op basis van een CTE handelt dit atomair af.
Verplaats alle betaalde orders (status = 'paid') die zijn aangemaakt vóór 1 januari 2024 van orders naar orders_archive in één enkel statement, zonder tussentoestand. Het archief moet de kolommen id, status en amount ontvangen.
Voorbeeld van verwachte uitvoer
Zo ziet een correct antwoord eruit — het aantal rijen is op zichzelf staand en hoeft niet overeen te komen met de schematabellen.
| id | amount | status |
|---|---|---|
| 1 | 100.00 | paid |
| 2 | 200.00 | paid |
| 3 | 150.00 | paid |
Log in om je inzendingsgeschiedenis te zien
InloggenLog in om de AI-mentor te gebruiken
Inloggen