Flyt gamle rækker til arkivet på én gang — uden race conditions
Arkivering af gamle ordrer i to sætninger (indsæt i arkivet, slet derefter fra hovedtabellen) er udsat for race conditions: nogen kan indsætte en ny matchende række mellem trinnene, eller en status kan skifte. En enkelt CTE-baseret forespørgsel håndterer dette atomart.
Flyt alle betalte ordrer (status = 'paid') oprettet før 1. januar 2024 fra orders til orders_archive i én enkelt sætning, uden mellemtilstand. Arkivet skal modtage kolonnerne id, status og amount.
Eksempel på forventet output
Sådan ser et korrekt svar ud — dets rækketal er dets eget og behøver ikke at matche skematabellerne.
| id | amount | status |
|---|---|---|
| 1 | 100.00 | paid |
| 2 | 200.00 | paid |
| 3 | 150.00 | paid |
Log ind for at se indsendelseshistorik
Log indLog ind for at bruge AI-mentor
Log ind