Použití chybových funkcí ve vnořeném TRY...CATCH
Do tvého skladu dorazila nová kola, takže je potřeba aktualizovat zásoby.
Chceš zaznamenat, že jsi přijal/a 2 kola Trek Powerfly 5 - 2018 za cenu 3499,99 $ každé a 3 kola New Power K- 2018 za 1999,99 $ každé.
Pokoušíš se vložit produkty do databáze, protože si myslíš, že jde o nové modely. Jenže jsi zapomněl/a, že první z nich už na skladě máš. Naštěstí má tabulka products omezení, které vyžaduje jedinečný název každého produktu.
Připravíš skript, který hlídá možné chyby při vkládání. Chceš také zaznamenávat případné chyby do tabulky errors, a pokud vložení chyby selže, zobrazit číslo chyby a chybovou zprávu.
Toto cvičení je součástí kurzu
Transakce a zpracování chyb v SQL Serveru
Pokyny k cvičení
- Obal obsluhu chyb blokem
CATCH. - Vlož
'Error inserting a product'do tabulkyerrorsa toto vložení obal dalším blokemTRY. - Obal vnořenou obsluhu chyb dalším blokem
CATCH. - Ve vnitřním bloku
CATCHvyber řádek chyby a chybovou zprávu.
Interaktivní cvičení na vyzkoušení si v praxi
Vyzkoušejte si toto cvičení dokončením tohoto ukázkového kódu.
BEGIN TRY
INSERT INTO products (product_name, stock, price)
VALUES ('Trek Powerfly 5 - 2018', 2, 3499.99),
('New Power K- 2018', 3, 1999.99)
END TRY
-- Set up the outer CATCH block
___ ___
SELECT 'An error occurred inserting the product!';
-- Set up the inner TRY block
___ ___
-- Insert the error
INSERT INTO ___
VALUES ('Error inserting a product');
___ ___
-- Set up the inner CATCH block
___ ___
-- Show number and message error
SELECT
___ AS line,
___ AS message;
___ ___
___ ___