Ausführen eines Stored Procedures, das einen Fehler auslöst
Du möchtest erfassen, dass du 3 Fahrräder vom Typ Trek Conduit+ zum Preis von 499,99 $ erhalten hast.
Du vermutest, dass Trek Conduit+ in der Tabelle products nicht existiert. Deshalb versuchst du, es als neues Produkt einzufügen, und verwendest dafür das Stored Procedure, das du in der vorherigen Übung erstellt hast:
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
Du musst die möglichen Fehler abfangen, die bei der Ausführung des Stored Procedures entstehen, und dabei die ursprüngliche Fehlermeldung anzeigen.
Wie bereitest du das Skript vor?
Diese Übung ist Teil des Kurses
Transaktionen und Fehlerbehandlung in SQL Server
Anleitung zur Übung
- Führe das Stored Procedure
insert_productaus. - Setze passende Werte für die Parameter des Stored Procedures.
- Umschließe die Fehlerbehandlung mit einem
CATCH-Block. - Wähle die Fehlermeldung aus.
Interaktive Übung
Vervollständige den Beispielcode, um diese Übung erfolgreich abzuschließen.
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 ___;
___ ___