Aan de slagGa gratis aan de slag

Een stored procedure uitvoeren die een fout gooit

Je wilt vastleggen dat je 3 Trek Conduit+-fietsen hebt ontvangen met een prijs van $499,99. Je denkt dat Trek Conduit+ niet bestaat in de tabel products, dus je probeert het als nieuw product in te voegen met de stored procedure die je in de vorige oefening hebt gemaakt:

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

Je moet de mogelijke fouten afvangen die ontstaan bij het uitvoeren van de stored procedure, waarbij je het oorspronkelijke foutbericht toont.

Hoe bereid je het script voor?

Deze oefening maakt deel uit van de cursus

Transacties en foutafhandeling in SQL Server

Cursus bekijken

Oefeninstructies

  • Voer de stored procedure met de naam insert_product uit.
  • Stel de juiste waarden in voor de parameters van de stored procedure.
  • Omring de foutafhandeling met een CATCH-blok.
  • Selecteer het foutbericht.

Praktische interactieve oefening

Probeer deze oefening eens door deze voorbeeldcode in te vullen.

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 ___;
___ ___
Code bewerken en uitvoeren