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
<Kurs>Transaktionen und Fehlerbehandlung in SQL Server</Kurs>Übungsanweisungen
- 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 praktische Übung
Versuche dich an dieser Übung, indem du diesen Beispielcode vervollständigst.
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
___;
___ ___