CommencerCommencer gratuitement

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

Afficher le cours

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
Modifier et exécuter le code