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