ÎncepețiÎncepe gratuit

Executarea unei proceduri stocate care aruncă o eroare

Vrei să înregistrezi că ai primit 3 biciclete Trek Conduit+ la prețul de 499,99 $. Crezi că Trek Conduit+ nu există în tabela products, așa că încerci să o inserezi ca produs nou, folosind procedura stocată creată în exercițiul anterior:

CREATE PROCEDURE insert_product
  @product_name VARCHAR(50),
  @stock INT,
  @price DECIMAL

AS

BEGIN TRY
    INSERT INTO products (product_name, stock, price)
        VALUES (@product_name, @stock, @price);
END TRY
BEGIN CATCH    
    INSERT INTO errors VALUES ('Error inserting a product');  
    THROW;  
END CATCH

Trebuie să interceptezi eventualele erori generate la executarea procedurii stocate și să afișezi mesajul de eroare original.

Cum pregătești scriptul?

Acest exercițiu face parte din cursul

Tranzacții și gestionarea erorilor în SQL Server

Vezi cursul

Instrucțiuni pentru exercițiu

  • Execută procedura stocată numită insert_product.
  • Setează valorile corespunzătoare pentru parametrii procedurii stocate.
  • Înconjoară gestionarea erorilor cu un bloc CATCH.
  • Selectează mesajul de eroare.

Exercițiu interactiv practic

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

BEGIN TRY
	-- Execute the stored procedure
	EXEC ___
    	-- Set the values for the parameters
    	@product_name = 'Trek Conduit+',
        @stock = ___,
        @price = ___;
END TRY
-- Set up the CATCH block
___ ___
	-- Select the error message
	SELECT ___;
___ ___
Editează și rulează codul