Je eerste script voor foutafhandeling
Je hebt ontdekt dat je products-tabel geen enkele constraint heeft om de gegevens in de kolom stock te controleren. Het is logisch dat stock altijd groter dan of gelijk aan 0 is.
Om een of andere reden staat er een fout in de volgende rij. De voorraad is -1!
| product_id | product_name | stock | price |
|------------|--------------|-------|-------|
| 6 | Trek Neko+ | -1 | 2799 |
Je wilt een script voorbereiden dat een constraint toevoegt aan de tabel products, zodat alleen voorraden groter dan of gelijk aan 0 zijn toegestaan.
Als je deze constraint toevoegt die alleen voorraden groter dan of gelijk aan 0 toestaat, zal de uitvoering mislukken omdat er één rij is waarvan de voorraad -1 is.
Hoe kun je het script voorbereiden?
Deze oefening maakt deel uit van de cursus
Transacties en foutafhandeling in SQL Server
Oefeninstructies
- Zet de constraint in een
TRY-blok. - Voeg de constraint toe aan de
products-tabel. - Zet het foutbericht in een
CATCH-blok.
Praktische interactieve oefening
Probeer deze oefening eens door deze voorbeeldcode in te vullen.
-- 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 ___