CommencerCommencer 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 stocké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 de n’autoriser que des stocks supérieurs ou égaux à 0.

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 ?

Cet exercice fait partie du cours

Transactions et gestion des erreurs dans SQL Server

Afficher le cours

Instructions

  • Entourez l’ajout de 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 cet exemple de code.

-- 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