Il tuo primo script di gestione degli errori
Ti sei accorto che la tabella products non ha alcun vincolo per controllare i dati memorizzati nella colonna stock. Ha senso che stock sia sempre maggiore o uguale a 0.
Per qualche motivo, c’è un errore nella seguente riga. Lo stock è -1!
| product_id | product_name | stock | price |
|------------|--------------|-------|-------|
| 6 | Trek Neko+ | -1 | 2799 |
Vuoi preparare uno script che aggiunga un vincolo alla tabella products, in modo che siano ammessi solo valori di stock maggiori o uguali a 0.
Se aggiungi questo vincolo che consente solo stock maggiori o uguali a 0, l’esecuzione non andrà a buon fine perché c’è una riga in cui lo stock è -1.
Come puoi preparare lo script?
Questo esercizio fa parte del corso
Transazioni e gestione degli errori in SQL Server
Istruzioni dell'esercizio
- Inserisci il vincolo all’interno di un blocco
TRY. - Aggiungi il vincolo alla tabella
products. - Inserisci il messaggio di errore all’interno di un blocco
CATCH.
Esercizio pratico interattivo
Prova a risolvere questo esercizio completando il codice di esempio.
-- 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 ___