#789

Régi sorok áthelyezése az archívumba egy lépésben – versengésmentesen

A régi rendelések archiválása két utasítással (beszúrás az archívumba, majd törlés a fő táblából) versengésre hajlamos: valaki beszúrhat egy új, a feltételnek megfelelő sort a lépések között, vagy egy állapot megváltozhat időközben. Egyetlen CTE-alapú lekérdezés ezt atomikusan kezeli. Helyezzen át minden fizetett rendelést (status = 'paid'), amely 2024. január 1. előtt jött létre, az orders táblából az orders_archive táblába egyetlen utasítással, köztes állapot nélkül. Az archívumba az id, status és amount oszlopoknak kell bekerülniük.

Várt kimeneti minta

Így néz ki egy helyes válasz — a sorszáma a sajátja, nem kell egyeznie a sématáblákkal.

idamountstatus
1100.00paid
2200.00paid
3150.00paid

A lekérdezésed eredménye itt jelenik meg