Accès bêta gratuit pendant 30 jours · aucun paiement · progression enregistrée
Le problème métier
Une commande est enregistrée mais son paiement échoue, laissant un état incomplet.
Ce que vous saurez faire
Utiliser COMMIT, ROLLBACK et SAVEPOINT en comprenant les erreurs et la concurrence.
Délimiter une transaction
Annuler une opération
Utiliser un point de sauvegarde
Comprendre l’isolation
Limites de cette micro-formation
Cette micro-formation cible une compétence précise. Elle ne remplace pas un parcours complet ni une formation d’administration de serveur.
Prérequis
INSERT, UPDATE et DELETE
Projet et pratique
8 exercices vérifiés sont disponibles. La validation repose sur les exercices du programme.
Parcours ciblé
Votre programme, dans l’ordre.
Les contenus restent centralisés : terminer une activité ici met aussi à jour le parcours qui la contient.
Micro-leçons
01
Le problème à résoudre avant la syntaxe
Un UPDATE sans WHERE peut modifier toute une table. Un import relancé peut aussi créer des doublons si l’unicité et le comportement de conflit ne sont pas définis.
Écrivez d’abord le SELECT qui identifie les lignes, exécutez la modification dans une transaction, utilisez RETURNING pour observer les effets et choisissez explicitement la clé de conflit de l’UPSERT.
Contrôlez le nombre de lignes avant et après, vérifiez les valeurs retournées et testez la relance de l’import. Une opération sûre est reproductible ou explicitement non répétable.
Débiter un stock puis échouer avant de créer la commande laisse un état incohérent. Deux transactions peuvent aussi lire le même stock et vendre la dernière unité simultanément.
Regroupez les écritures qui forment une seule décision dans BEGIN/COMMIT. Une transaction ne garantit pas qu’un UPDATE trouve une ligne. Ici, la commande dépend des lignes réellement réservées par UPDATE…RETURNING : sans stock, aucune commande. Utilisez ROLLBACK pour tout annuler et SAVEPOINT pour reprendre une sous-étape.
Essayez un stock de zéro, un produit absent, puis un stock de deux : attendez respectivement zéro, zéro et une commande. Provoquez ensuite une erreur entre deux écritures et annulez. Le laboratoire embarqué permet ces tests atomiques ; les conflits entre deux sessions se vérifient sur PostgreSQL serveur, pas dans cette instance mono-utilisateur.
Protéger une modification facturation 2 · scénario d’entraînement
Validez une modification correcte et annulez uniquement l’étape incorrecte. Vous devez produire le résultat, le contrôler sur les données sources et expliquer ce qu’il permet de décider dans ce système de facturation.
Protéger une modification logistique 3 · scénario d’entraînement
Validez une modification correcte et annulez uniquement l’étape incorrecte. Vous devez produire le résultat, le contrôler sur les données sources et expliquer ce qu’il permet de décider dans ce expéditions nationales.
Protéger une modification rh 4 · scénario d’entraînement
Validez une modification correcte et annulez uniquement l’étape incorrecte. Vous devez produire le résultat, le contrôler sur les données sources et expliquer ce qu’il permet de décider dans ce gestion des ressources humaines.
Protéger une modification audit 5 · scénario d’entraînement
Validez une modification correcte et annulez uniquement l’étape incorrecte. Vous devez produire le résultat, le contrôler sur les données sources et expliquer ce qu’il permet de décider dans ce journal d’audit.
Insérer puis mettre à jour une donnée facturation 2 · scénario d’entraînement
Effectuez deux modifications contrôlées et vérifiez l’état final. Vous devez produire le résultat, le contrôler sur les données sources et expliquer ce qu’il permet de décider dans ce système de facturation.
Insérer puis mettre à jour une donnée logistique 3 · scénario d’entraînement
Effectuez deux modifications contrôlées et vérifiez l’état final. Vous devez produire le résultat, le contrôler sur les données sources et expliquer ce qu’il permet de décider dans ce expéditions nationales.