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
Anleitung zur Übung
- Umschließe die Fehlerbehandlung mit einem
CATCH-Block. - Füge den Fehler in die Tabelle
errorsein. - 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
___;
___ ___