LoslegenKostenlos loslegen

THROW ohne Parameter

Du möchtest eine gespeicherte Prozedur vorbereiten, um neue Produkte in die Datenbank einzufügen. In dieser Prozedur willst du mögliche Fehler in eine Tabelle namens errors schreiben und danach den ursprünglichen Fehler erneut auslösen.

Wie bereitest du die gespeicherte Prozedur vor?

Diese Übung ist Teil des Kurses

Transaktionen und Fehlerbehandlung in SQL Server

Kurs anzeigen

Anleitung zur Übung

  • Umschließe die Fehlerbehandlung mit einem CATCH-Block.
  • Füge den Fehler in die Tabelle errors ein.
  • Beende die INSERT-Anweisung mit einem Semikolon (;).
  • Löse den ursprünglichen Fehler erneut aus.

Interaktive Übung

Vervollständige den Beispielcode, um diese Übung erfolgreich abzuschließen.

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
	___; 
___ ___
Code bearbeiten und ausführen