Twój pierwszy skrypt z obsługą błędów
Zauważasz, że tabela products nie ma żadnego ograniczenia sprawdzającego dane w kolumnie stock. Logiczne jest, że wartość stock powinna być zawsze większa lub równa 0.
Z jakiegoś powodu w poniższym wierszu pojawił się błąd – wartość stock wynosi -1!
| product_id | product_name | stock | price |
|------------|--------------|-------|-------|
| 6 | Trek Neko+ | -1 | 2799 |
Chcesz przygotować skrypt, który doda do tabeli products ograniczenie dopuszczające tylko wartości stock większe lub równe 0.
Jeśli dodasz takie ograniczenie, wykonanie skryptu zakończy się błędem, ponieważ istnieje wiersz, w którym stock wynosi -1.
Jak powinien wyglądać taki skrypt?
To ćwiczenie jest częścią kursu
Transakcje i obsługa błędów w SQL Server
Instrukcje do ćwiczenia
- Otocz instrukcję dodającą ograniczenie blokiem
TRY. - Dodaj ograniczenie do tabeli
products. - Otocz komunikat o błędzie blokiem
CATCH.
Interaktywne ćwiczenie praktyczne
Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.
-- 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 ___