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
Ö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
___;
___ ___