Utiliser des points de sauvegarde
Votre collègue Anita a besoin d’aide. Elle a préparé un script qui utilise des points de sauvegarde, mais il ne fonctionne pas. Le script marque un premier point de sauvegarde, savepoint1, puis insère les données d’un client. Ensuite, le script marque un autre point de sauvegarde, savepoint2, et insère à nouveau les données d’un autre client. Après cela, les deux points de sauvegarde sont annulés. Enfin, le script marque un autre point de sauvegarde, savepoint3, et insère les données d’un autre client.
Anita vous dit que son script ne fonctionne pas parce qu’il contient des erreurs, mais elle ne sait pas comment les corriger. Pouvez-vous l’aider ?
Cet exercice fait partie du cours
Transactions et gestion des erreurs dans SQL Server
Instructions
- Exécutez le code pour constater les erreurs.
- Corrigez toutes les erreurs.
Exercice interactif pratique
Essayez cet exercice en complétant cet exemple de code.
BEGIN TRAN;
-- Mark savepoint1
savepoint1 SAVE TRAN;
INSERT INTO customers VALUES ('Mark', 'Davis', '[email protected]', '555909090');
-- Mark savepoint2
savepoint2 SAVE TRAN;
INSERT INTO customers VALUES ('Zack', 'Roberts', '[email protected]', '555919191');
-- Rollback savepoint2
savepoint2 ROLLBACK TRAN;
-- Rollback savepoint1
savepoint1 ROLLBACK TRAN;
-- Mark savepoint3
savepoint3 SAVE TRAN;
INSERT INTO customers VALUES ('Jeremy', 'Johnsson', '[email protected]', '555929292');
-- Commit the transaction
COMMIT TRAN;