LoslegenKostenlos starten

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

<Kurs>Transaktionen und Fehlerbehandlung in SQL Server</Kurs>
Kurs ansehen

Übungsanweisungen

  • 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 praktische Übung

Versuche dich an dieser Übung, indem du diesen Beispielcode vervollständigst.

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