CommencezCommencez gratuitement

Votre premier script de gestion des erreurs

Vous avez constaté que votre table products n'a aucune contrainte pour vérifier les données enregistrées dans sa colonne stock. Il est logique que stock soit toujours supérieur ou égal à 0. Pour une raison quelconque, il y a une erreur dans la ligne suivante. Le stock est à -1 !

| product_id | product_name | stock | price |
|------------|--------------|-------|-------|
| 6          | Trek Neko+   | -1    | 2799  |

Vous souhaitez préparer un script qui ajoute une contrainte à la table products afin que seuls des stocks supérieurs ou égaux à 0 soient autorisés.

Si vous ajoutez cette contrainte qui n'autorise que des stocks supérieurs ou égaux à 0, l'exécution échouera, car il existe une ligne où le stock est égal à -1.

Comment pouvez-vous préparer le script ?

Cette activité fait partie du cours

Transactions et gestion des erreurs dans SQL Server

Voir le cours

Instructions de l’exercice

  • Entourez l'ajout de la contrainte avec un bloc TRY.
  • Ajoutez la contrainte à la table products.
  • Encadrez le message d'erreur avec un bloc CATCH.

Exercice interactif pratique

Essayez cet exercice en complétant ce code d’exemple.

-- Set up the TRY block
BEGIN ___
	-- Add the constraint
	ALTER TABLE ___
		ADD CONSTRAINT CHK_Stock CHECK (stock >= 0);
___ ___
-- Set up the CATCH block
___ ___
	SELECT 'An error occurred!';
END ___
Modifier et exécuter le code