#789

Flytta gamla rader till arkivet i ett svep — utan kapplöpning

Att arkivera gamla ordrar i två satser (infoga i arkivet, sedan ta bort från huvudtabellen) är känsligt för kapplöpning: någon kan infoga en ny matchande rad mellan stegen, eller en status kan ändras. En enda CTE-baserad fråga hanterar detta atomärt. Flytta alla betalda ordrar (status = 'paid') som skapades före den 1 januari 2024 från orders till orders_archive i en enda sats, utan mellanliggande tillstånd. Arkivet ska ta emot kolumnerna id, status och amount.

Exempel på förväntad utdata

Så här ser ett korrekt svar ut — radantalet är dess eget, det behöver inte matcha schematabellerna.

idamountstatus
1100.00paid
2200.00paid
3150.00paid

Ditt frågeresultat visas här