C'est la possibilité d'encapsuler les intructions d'écriture dans une table par des commandes qui font autorité :
pour démarrer par exemple une opération AJOUT, on commence par écrire :
STARTTRANSACTION
à partir de cette commande tout ce qui écrit après fait partie de la transaction
MonQuery.append;
....
....
...
MonQuery.Post;
La transaction DOIT se terminer soit par une acceptation des écritures grâce à la commande
COMMIT
(juste après les données prélablement conservées dans un tampon sont stockées dans la table)
OU
Soit par une refus à l'aide de la commande :
ROLLBACK
(juste après toutes les écritures exécutées entre le STARTTRANSACTION et le ROLLBACK sont annulées
retour case de départ comme si on avait rien fait)
nb:
Attention les écritures doivent être adaptées en fonction du SGDB choisi et il y a aussi d'autres paramètres
à prendre en compte (mais c'est une autre histoire..)
les transactions sont évidemment très utiles dans le cadre d'une application multi-utilisateurs
en mode partagé (en réseau) permettant de régler les conflits de partage et aussi d'apporter une sécurité
efficace en ce qui concerne l'intégrité des données.
cantador