Primul tău script de gestionare a erorilor
Ai observat că tabela products nu are nicio constrângere care să verifice datele stocate în coloana stock. Are sens ca valoarea stock să fie întotdeauna mai mare sau egală cu 0.
Din anumite motive, există o eroare în următorul rând. Stocul este -1!
| product_id | product_name | stock | price |
|------------|--------------|-------|-------|
| 6 | Trek Neko+ | -1 | 2799 |
Vrei să pregătești un script care să adauge o constrângere în tabela products, astfel încât să fie permise doar stocuri mai mari sau egale cu 0.
Dacă adaugi această constrângere, execuția va eșua, deoarece există un rând în care stocul este egal cu -1.
Cum poți pregăti scriptul?
Acest exercițiu face parte din cursul
Tranzacții și gestionarea erorilor în SQL Server
Instrucțiuni pentru exercițiu
- Înconjoară constrângerea cu un bloc
TRY. - Adaugă constrângerea în tabela
products. - Înconjoară mesajul de eroare cu un bloc
CATCH.
Exercițiu interactiv practic
Încearcă acest exercițiu completând acest cod de exemplu.
-- 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 ___