Seu primeiro script de tratamento de erros
Você percebeu que sua tabela products não tem nenhuma restrição para verificar os dados armazenados na coluna stock. Faz sentido que stock seja sempre maior ou igual a 0.
Por algum motivo, há um erro na linha a seguir. O estoque está em -1!
| product_id | product_name | stock | price |
|------------|--------------|-------|-------|
| 6 | Trek Neko+ | -1 | 2799 |
Você quer preparar um script adicionando uma restrição à tabela products, para permitir apenas estoques maiores ou iguais a 0.
Se você adicionar essa restrição que só permite estoques maiores ou iguais a 0, a execução falhará porque há uma linha em que o estoque é igual a -1.
Como você pode preparar o script?
Este exercício faz parte do curso
Transações e tratamento de erros no SQL Server
Instruções do exercício
- Coloque a restrição dentro de um bloco
TRY. - Adicione a restrição à tabela
products. - Coloque a mensagem de erro dentro de um bloco
CATCH.
Exercício interativo prático
Experimente este exercício completando este código de exemplo.
-- 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 ___