LoslegenKostenlos loslegen

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

Kurs anzeigen

Anleitung zur Übung

  • Führe das Stored Procedure insert_product aus.
  • 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 ___;
___ ___
Code bearbeiten und ausführen