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ă.
| id | amount | status |
|---|---|---|
| 1 | 100.00 | paid |
| 2 | 200.00 | paid |
| 3 | 150.00 | paid |
Conectează-te pentru a vedea istoricul soluțiilor trimise
Conectează-teConectează-te pentru a folosi Mentorul AI
Conectează-te