Zagnieżdżanie konstrukcji TRY...CATCH
Chcesz zarejestrować nowego kupującego w tabeli buyers. To Peter Thomson – jego adres e-mail to [email protected], a numer telefonu to 555000100.
W bazie danych znajduje się też tabela errors, w której zapisywane są wszystkie błędy.
Przygotowujesz skrypt, który kontroluje możliwe błędy podczas wstawiania danych tej osoby, a także zapisuje te błędy do tabeli errors.
Jak przygotować taki skrypt?
To ćwiczenie jest częścią kursu
Transakcje i obsługa błędów w SQL Server
Instrukcje do ćwiczenia
- Otocz instrukcję
INSERT INTO buyersblokiemTRY. - Otocz obsługę błędów blokiem
CATCH. - Otocz instrukcję
INSERT INTO errorskolejnym blokiemTRY. - Otocz zagnieżdżoną obsługę błędów kolejnym blokiem
CATCH.
Interaktywne ćwiczenie praktyczne
Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.
-- Set up the first TRY block
___ ___
INSERT INTO buyers (first_name, last_name, email, phone)
VALUES ('Peter', 'Thompson', '[email protected]', '555000100');
___ ___
-- Set up the first CATCH block
___ ___
SELECT 'An error occurred inserting the buyer! You are in the first CATCH block';
-- Set up the nested TRY block
___ ___
INSERT INTO errors
VALUES ('Error inserting a buyer');
SELECT 'Error inserted correctly!';
___ ___
-- Set up the nested CATCH block
___ ___
SELECT 'An error occurred inserting the error! You are in the nested CATCH block';
___ ___
___ ___