TRY...CATCH-constructies nesten
Je wilt een nieuwe koper registreren in je buyers-tabel. Deze nieuwe koper is Peter Thomson. Zijn e-mailadres is [email protected] en zijn telefoonnummer is 555000100.
In je database staat ook een tabel met de naam errors, waarin elke fout wordt opgeslagen.
Je bereidt een script voor dat mogelijke fouten bij het invoegen van de gegevens van deze persoon afvangt. Het voegt die fouten ook toe aan de tabel errors.
Hoe bereid je het script voor?
Deze oefening maakt deel uit van de cursus
Transacties en foutafhandeling in SQL Server
Oefeninstructies
- Zet het statement
INSERT INTO buyersin eenTRY-blok. - Zet de foutafhandeling in een
CATCH-blok. - Zet het statement
INSERT INTO errorsin een anderTRY-blok. - Zet de geneste foutafhandeling in een ander
CATCH-blok.
Praktische interactieve oefening
Probeer deze oefening eens door deze voorbeeldcode in te vullen.
-- 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';
___ ___
___ ___