Attention, votre navigateur ne supporte pas le javascript ou celui-ci a été désactivé. Certaines fonctionnalités dynamiques de ce module sont restreintes.
Écoutez l'extrait audio et complétez le texte suivant.
Voici trois cas qui se produisent pour les trois transactions montrées précédemment. Dans le premier cas, il faut relancer T1 parce qu'il n'y a pas eu de « commit », dans le deuxième cas, on réaffecte les nouvelles valeurs de T1 mais on recommence T2, et dans le troisième cas T1 est terminée, on lui met les nouvelles valeurs, T2 est terminée, on lui met les nouvelles valeurs et on ne fait plus rien. En SQL, de manière interactive, vous avez deux ordres SQL qui vous permettent aussi de gérer les systèmes transactionnels. Un ordre SQL de base, un select, un insert, un update ou un delete, est toujours considéré par le système comme étant une transaction. Tout SGBD considère que les ordres SQL sont transactionnels, il n'y a que vos programmes qui posent problème. Si vous indiquez qu'ils sont transactionnels, vous devez indiquer manuellement, une fois que le programme a tourné, si vous faites un « commit » ou non. Dans la plupart des SGBD, quand vous êtes en installation par défaut, vous êtes dans un mode particulier qui s'appelle « auto-commit », donc vous n'avez jamais à le faire. Quand vous vous mettez dans un système transactionnel, si vous êtes en interactif, il faudra forcément terminer tous vos ordres soit par « commit », pour affirmer ce que vous venez de faire, soit par « rollback » pour revenir en arrière sur ce que vous venez de faire. « Commit » remet les nouvelles valeurs, « rollback » remet les anciennes valeurs. Il y a deux modes dans un SGBD : vous avez le mode interactif et vous avez le mode batch. Quand vous êtes dans un mode batch, c'est le SGBD lui-même qui fait le « commit » ou le « rollback » quand il redémarre. Quand vous êtes dans un mode interactif, si vous enlevez le mode auto-commit, vous devez faire des « commit » ou des « rollback » à la main, ce sont deux instructions SQL que vous pouvez exécuter dans votre SGBD.