Imbricarea construcțiilor TRY...CATCH
Vrei să înregistrezi un nou cumpărător în tabela buyers. Acest cumpărător se numește Peter Thomson, adresa lui de e-mail este [email protected], iar numărul de telefon este 555000100.
În baza ta de date există și o tabelă numită errors, în care se stochează fiecare eroare apărută.
Pregătești un script care controlează eventualele erori la inserarea datelor acestei persoane și le introduce totodată în tabela errors.
Cum pregătești scriptul?
Acest exercițiu face parte din cursul
Tranzacții și gestionarea erorilor în SQL Server
Instrucțiuni pentru exercițiu
- Înconjoară instrucțiunea
INSERT INTO buyerscu un blocTRY. - Înconjoară gestionarea erorilor cu un bloc
CATCH. - Înconjoară instrucțiunea
INSERT INTO errorscu un alt blocTRY. - Înconjoară gestionarea erorilor imbricate cu un alt bloc
CATCH.
Exercițiu interactiv practic
Încearcă acest exercițiu completând acest cod de exemplu.
-- 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';
___ ___
___ ___