Dein erstes Skript zur Fehlerbehandlung
Du hast festgestellt, dass in deiner Tabelle products keine Constraint vorhanden ist, die die in der Spalte stock gespeicherten Daten prüft. Es ergibt Sinn, dass stock immer größer oder gleich 0 ist.
Aus irgendeinem Grund gibt es in der folgenden Zeile einen Fehler. Der Bestand ist -1!
| product_id | product_name | stock | price |
|------------|--------------|-------|-------|
| 6 | Trek Neko+ | -1 | 2799 |
Du möchtest ein Skript vorbereiten, das der Tabelle products eine Constraint hinzufügt, sodass nur Bestände größer oder gleich 0 erlaubt sind.
Wenn du diese Constraint hinzufügst, die nur Bestände größer oder gleich 0 zulässt, schlägt die Ausführung fehl, weil es eine Zeile gibt, in der der Bestand -1 ist.
Wie kannst du das Skript vorbereiten?
Diese Übung ist Teil des Kurses
Transaktionen und Fehlerbehandlung in SQL Server
Anleitung zur Übung
- Umgib die Constraint mit einem
TRY-Block. - Füge die Constraint zur Tabelle
productshinzu. - Umgib die Fehlermeldung mit einem
CATCH-Block.
Interaktive Übung
Vervollständige den Beispielcode, um diese Übung erfolgreich abzuschließen.
-- Set up the TRY block
BEGIN ___
-- Add the constraint
ALTER TABLE ___
ADD CONSTRAINT CHK_Stock CHECK (stock >= 0);
___ ___
-- Set up the CATCH block
___ ___
SELECT 'An error occurred!';
END ___