#789

Mută rândurile vechi în arhivă dintr-o singură comandă — fără condiții de cursă

Arhivarea comenzilor vechi în două instrucțiuni (inserare în arhivă, apoi ștergere din tabelul principal) este predispusă la condiții de cursă: cineva poate insera un rând nou care corespunde condiției între cei doi pași, sau un status se poate schimba. O singură interogare bazată pe CTE rezolvă acest lucru atomic. Mutați toate comenzile plătite (status = 'paid') create înainte de 1 ianuarie 2024 din orders în orders_archive într-o singură instrucțiune, fără stare intermediară. Arhiva trebuie să primească coloanele id, status și amount.

Exemplu de ieșire așteptată

Așa arată un răspuns corect — numărul său de rânduri îi este propriu, nu trebuie să se potrivească cu tabelele din schemă.

idamountstatus
1100.00paid
2200.00paid
3150.00paid

Rezultatul interogării tale va apărea aici