Kom igångKom igång gratis

THROW utan parametrar

Du vill förbereda en lagrad procedur för att infoga nya produkter i databasen. I den lagrade proceduren vill du lagra eventuella fel i en tabell kallad errors, och därefter kasta om det ursprungliga felet.

Hur förbereder du den lagrade proceduren?

Den här övningen är en del av kursen

Transaktioner och felhantering i SQL Server

Visa kurs

Övningsinstruktioner

  • Omge felhanteringen med ett CATCH-block.
  • Infoga felet i tabellen errors.
  • Avsluta insert-satsen med ett semikolon (;).
  • Kasta om det ursprungliga felet.

Interaktiv övning med praktiskt arbete

Testa den här övningen genom att slutföra den här exempelkoden.

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
-- Set up the CATCH block
___ ___
	-- Insert the error and end the statement with a semicolon
    ___ ___ errors VALUES ('Error inserting a product')___
    -- Re-throw the error
	___; 
___ ___
Redigera och kör kod