Avant de lancer une requête SQL pour ajouter, supprimer, ou mettre à jour des données dans une base, il peut être utile de la tester afin d’éviter au maximum les désagréments qui pourraient survenir.
Pour ce faire, PostGresSQL nous fournit un mécanisme connut sous le nom de Transaction.
Dans l’exemple ci-dessous, on enveloppe une requête de suppression « DELETE » entre les mots-clés « BEGIN » et « ROLLBACK ». La requête de suppression va s’exécuter sans altérer la base de données. On peut ainsi mesurer les conséquences de la requête sur nos données :
BEGIN;
DELETE FROM article WHERE is_active = false;
SELECT title FROM article WHERE is_active = false;
ROLLBACK;
SELECT title FROM article WHERE is_active = false;