THROW zonder parameters
Je wilt een stored procedure voorbereiden om nieuwe producten in de database in te voegen. In die stored procedure wil je de mogelijke fouten in een tabel met de naam errors opslaan en daarna de oorspronkelijke fout opnieuw gooien.
Hoe bereid je de stored procedure voor?
Deze oefening maakt deel uit van de cursus
Transacties en foutafhandeling in SQL Server
Oefeninstructies
- Plaats de foutafhandeling in een
CATCH-blok. - Voeg de fout toe aan de tabel
errors. - Sluit de INSERT-instructie af met een puntkomma (
;). - Gooi de oorspronkelijke fout opnieuw.
Praktische interactieve oefening
Probeer deze oefening eens door deze voorbeeldcode in te vullen.
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
___;
___ ___