Kom igångKom igång gratis

Ditt första felhanteringsskript

Du märker att tabellen products saknar en begränsning (constraint) för att kontrollera värdena i kolumnen stock. Det är rimligt att lagersaldot alltid ska vara större än eller lika med 0. Av någon anledning finns ett felaktigt värde i följande rad – lagersaldot är -1!

| product_id | product_name | stock | price |
|------------|--------------|-------|-------|
| 6          | Trek Neko+   | -1    | 2799  |

Du vill skriva ett skript som lägger till en begränsning i tabellen products, så att endast lagersaldon större än eller lika med 0 tillåts.

Om du lägger till den här begränsningen kommer körningen att misslyckas, eftersom det finns en rad där lagersaldot är -1.

Hur förbereder du skriptet?

Den här övningen är en del av kursen

Transaktioner och felhantering i SQL Server

Visa kurs

Övningsinstruktioner

  • Omge begränsningen med ett TRY-block.
  • Lägg till begränsningen i tabellen products.
  • Omge felmeddelandet med ett CATCH-block.

Interaktiv övning med praktiskt arbete

Testa den här övningen genom att slutföra den här exempelkoden.

-- 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 ___
Redigera och kör kod