Académique Documents
Professionnel Documents
Culture Documents
---Destruction des tuples dont le champ ‘nom’ vaut dans la table personne
• Quand la transaction peut exister le système pointe sur try pour valider l’opération. Par
conséquent il exécute le commit.
• Et quand la transaction ne peut pas exister le système pointe sur catch pour annuler
l’opération. Par conséquent il donne le message d’erreur. Et en fin il exécute le rollback.
EXEMPLE 3
begin tran
Prof Rachid OMARI
begin try
delete from film where genre = 'historique'
print 'rien à supprimer'
commit tran
end try
begin catch
rollback tran
end catch
Et pour afficher seulement le message on utilise : SET NOCOUNT ON
set nocount on
begin tran
begin try
delete from film where genre = 'historique'
print 'rien à supprimer'
commit tran
end try
begin catch
rollback tran
end catch
Exemple 4
Use AIRBASSE
begin tran
begin try
delete from pilot where namep = 'mourad'
print 'aucun nom ne correspond pour mourad'
commit tran
end try
begin catch
rollback tran
end catch
Exemple 5
use service_achat
Si on veut afficher le message fait par la transaction, on ajoute « set nocount on » au début de
notre programme de la transaction.
set nocount on
begin tran tr1
begin try
delete from livraison where numfou=2
delete from FOURNISSEUR where numfou=1
commit tran
end try
begin catch
print 'impossible de faire la suppression, annulation'
rollback tran
end catch
remarque :
begin tran
select * from film
delete from film where idfilm=1
select * from film
rollback tran
On remarque que si on n’a pas fait commit, on n’aura pas la suppression définitive.
select * from film
si on veut vraiment faire une suppression, il faut entrer commit :
begin tran
select * from film
delete from film where idfilm=1
select * from film
Prof Rachid OMARI
commit tran
Donc une transaction est un ensemble d’action qui doivent soit s’exécuter tous, soit aucune.
-démarrage par begin transaction.
- finalisation par Commit ou Rollback.