#789

Déplacer les anciennes lignes vers l'archive en une seule fois — sans conditions de concurrence

Archiver d'anciennes commandes en deux instructions (insertion dans l'archive, puis suppression de la table principale) est sujet aux conditions de concurrence : quelqu'un peut insérer une nouvelle ligne correspondante entre les étapes, ou un statut peut changer. Une seule requête basée sur une CTE traite cela de manière atomique. Déplacez toutes les commandes payées (status = 'paid') créées avant le 1er janvier 2024 de orders vers orders_archive en une seule instruction, sans état intermédiaire. L'archive doit recevoir les colonnes id, status et amount.

Exemple de sortie attendue

Voici à quoi ressemble une réponse correcte — son nombre de lignes lui est propre, il n'a pas à correspondre aux tables du schéma.

idamountstatus
1100.00paid
2200.00paid
3150.00paid

Le résultat de votre requête apparaîtra ici