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
Oefeninstructies
- Voer de stored procedure met de naam
insert_productuit. - 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 ___;
___ ___