Aan de slagGa gratis aan de slag

Je eerste script voor foutafhandeling

Je hebt ontdekt dat je products-tabel geen enkele constraint heeft om de gegevens in de kolom stock te controleren. Het is logisch dat stock altijd groter dan of gelijk aan 0 is. Om een of andere reden staat er een fout in de volgende rij. De voorraad is -1!

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

Je wilt een script voorbereiden dat een constraint toevoegt aan de tabel products, zodat alleen voorraden groter dan of gelijk aan 0 zijn toegestaan.

Als je deze constraint toevoegt die alleen voorraden groter dan of gelijk aan 0 toestaat, zal de uitvoering mislukken omdat er één rij is waarvan de voorraad -1 is.

Hoe kun je het script voorbereiden?

Deze oefening maakt deel uit van de cursus

Transacties en foutafhandeling in SQL Server

Cursus bekijken

Oefeninstructies

  • Zet de constraint in een TRY-blok.
  • Voeg de constraint toe aan de products-tabel.
  • Zet het foutbericht in een CATCH-blok.

Praktische interactieve oefening

Probeer deze oefening eens door deze voorbeeldcode in te vullen.

-- 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 ___
Code bewerken en uitvoeren