ÎncepețiÎncepe gratuit

Folosirea funcțiilor de eroare într-un TRY...CATCH imbricat

Ai primit niște biciclete electrice noi în magazin, așa că trebuie să actualizezi stocul.

Vrei să înregistrezi că ai primit 2 biciclete Trek Powerfly 5 - 2018 la un preț de 3499,99 $ fiecare și 3 biciclete New Power K- 2018 la 1999,99 $ fiecare.

Încerci să inserezi produsele în baza de date, deoarece crezi că sunt modele noi. Totuși, ai uitat că primul model se află deja în stoc. Din fericire, tabela products are o constrângere care impune unicitatea numelui fiecărui produs.

Pregătești un script care gestionează eventualele erori apărute la inserare. De asemenea, vrei să salvezi erorile posibile într-o tabelă numită errors și, dacă inserarea erorii eșuează, să afișezi numărul și mesajul erorii.

Acest exercițiu face parte din cursul

Tranzacții și gestionarea erorilor în SQL Server

Vezi cursul

Instrucțiuni pentru exercițiu

  • Înconjoară gestionarea erorilor cu un bloc CATCH.
  • Inserează 'Error inserting a product' în tabela errors și înconjoară această inserare cu un alt bloc TRY.
  • Înconjoară gestionarea erorilor imbricate cu un alt bloc CATCH.
  • Selectează linia erorii și mesajul erorii în blocul CATCH interior.

Exercițiu interactiv practic

Încearcă acest exercițiu completând acest cod de exemplu.

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; 
    ___ ___    
___ ___
Editează și rulează codul