LoslegenKostenlos loslegen

Fehlerfunktionen in einem verschachtelten TRY...CATCH verwenden

Du hast neue E-Bikes für deinen Store erhalten und musst daher den Bestand aktualisieren.

Du möchtest erfassen, dass du 2 Trek Powerfly 5 - 2018-Bikes zu je 3.499,99 $ und 3 New Power K- 2018-Bikes zu je 1.999,99 $ erhalten hast.

Du versuchst, die Produkte in die Datenbank einzufügen, weil du denkst, es seien neue Modelle. Allerdings hast du vergessen, dass das erste Modell bereits auf Lager ist. Zum Glück hat die Tabelle products eine Constraint, die verlangt, dass jeder Produktname eindeutig ist.

Du bereitest ein Skript vor, das mögliche Fehler beim Einfügen abfängt. Außerdem möchtest du mögliche Fehler in eine Tabelle namens errors eintragen und, falls beim Einfügen des Fehlers etwas schiefgeht, die Fehlernummer und die Fehlermeldung anzeigen.

Diese Übung ist Teil des Kurses

Transaktionen und Fehlerbehandlung in SQL Server

Kurs anzeigen

Anleitung zur Übung

  • Umgib die Fehlerbehandlung mit einem CATCH-Block.
  • Füge 'Error inserting a product' in die Tabelle errors ein und umgib dieses Einfügen mit einem weiteren TRY-Block.
  • Umgib die verschachtelte Fehlerbehandlung mit einem weiteren CATCH-Block.
  • Wähle die Fehlerzeile und die Fehlermeldung im inneren CATCH-Block aus.

Interaktive Übung

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

BEGIN TRY
    INSERT INTO products (product_name, stock, price) 
    VALUES	('Trek Powerfly 5 - 2018', 2, 3499.99),   		
    		('New Power K- 2018', 3, 1999.99)		
END TRY
-- Set up the outer CATCH block
___ ___
	SELECT 'An error occurred inserting the product!';
    -- Set up the inner TRY block
    ___ ___
    	-- Insert the error
    	INSERT INTO ___ 
        	VALUES ('Error inserting a product');
    ___ ___    
    -- Set up the inner CATCH block
    ___ ___
    	-- Show number and message error
    	SELECT 
        	___ AS line,	   
			___ AS message; 
    ___ ___    
___ ___
Code bearbeiten und ausführen