Transactions condamnées
Vous souhaitez insérer les données de deux nouveaux clients dans la table customer. Vous préparez un script qui vérifie que, si une erreur se produit, la transaction est annulée (rollback) et que vous récupérez le message d’erreur. Vous voulez le piloter à l’aide de XACT_ABORT combiné à XACT_STATE.
Cet exercice fait partie du cours
Transactions et gestion des erreurs dans SQL Server
Instructions
- Utilisez le paramétrage approprié de
XACT_ABORT. - Vérifiez s’il existe une transaction ouverte.
- Annulez (rollback) la transaction.
- Sélectionnez le message d’erreur.
Exercice interactif pratique
Essayez cet exercice en complétant cet exemple de code.
-- Use the appropriate setting
SET XACT_ABORT ___;
BEGIN TRY
BEGIN TRAN;
INSERT INTO customers VALUES ('Mark', 'Davis', '[email protected]', '555909090');
INSERT INTO customers VALUES ('Dylan', 'Smith', '[email protected]', '555888999');
COMMIT TRAN;
END TRY
BEGIN CATCH
-- Check if there is an open transaction
IF ___() <> 0
-- Rollback the transaction
___;
-- Select the message of the error
SELECT ___() AS Error_message;
END CATCH