Začněte nyníZačněte zdarma

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

Zobrazit kurz

Pokyny k cvičení

  • Obal obsluhu chyb blokem CATCH.
  • Vlož 'Error inserting a product' do tabulky errors a toto vložení obal dalším blokem TRY.
  • Obal vnořenou obsluhu chyb dalším blokem CATCH.
  • Ve vnitřním bloku CATCH vyber řá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; 
    ___ ___    
___ ___
Upravit a spustit kód