Transactions en SQL

Introduction

Le langage SQL[1] fournit trois instructions pour gérer les transactions.

SyntaxeDébut d'une transaction

1
BEGIN TRANSACTION (ou BEGIN) ;

Cette syntaxe est optionnelle (voire inconnue de certains SGBD[2]), une transaction étant débutée de façon implicite dès qu'instruction est initiée sur la BD[3].

SyntaxeFin correcte d'une transaction

1
COMMIT TRANSACTION (ou COMMIT) ;

Cette instruction SQL signale la fin d'une transaction couronnée de succès. Elle indique donc au gestionnaire de transaction que l'unité logique de travail s'est terminée dans un état cohérent est que les données peuvent effectivement être modifiées de façon durable.

SyntaxeFin incorrecte d'une transaction

1
ROLLBACK TRANSACTION (ou ROLLBACK) ;

Cette instruction SQL signale la fin d'une transaction pour laquelle quelque chose s'est mal passé. Elle indique donc au gestionnaire de transaction que l'unité logique de travail s'est terminée dans un état potentiellement incohérent et donc que les données ne doivent pas être modifiées en annulant les modifications réalisées au cours de la transaction.

RemarqueProgramme

Un programme est généralement une séquence de plusieurs transactions.