Aninhando construções TRY...CATCH
Você quer registrar um novo comprador na sua tabela buyers. Esse novo comprador é Peter Thomson. O e-mail dele é [email protected] e o número de telefone é 555000100.
No seu banco de dados, há também uma tabela chamada errors, em que cada erro é armazenado.
Você prepara um script que controla possíveis erros na inserção dos dados dessa pessoa. Ele também insere esses erros na tabela errors.
Como você prepara esse script?
Este exercício faz parte do curso
Transações e tratamento de erros no SQL Server
Instruções do exercício
- Envolva o comando
INSERT INTO buyerscom um blocoTRY. - Envolva o tratamento de erros com um bloco
CATCH. - Envolva o comando
INSERT INTO errorscom outro blocoTRY. - Envolva o tratamento de erros aninhado com outro bloco
CATCH.
Exercício interativo prático
Experimente este exercício completando este código de exemplo.
-- Set up the first TRY block
___ ___
INSERT INTO buyers (first_name, last_name, email, phone)
VALUES ('Peter', 'Thompson', '[email protected]', '555000100');
___ ___
-- Set up the first CATCH block
___ ___
SELECT 'An error occurred inserting the buyer! You are in the first CATCH block';
-- Set up the nested TRY block
___ ___
INSERT INTO errors
VALUES ('Error inserting a buyer');
SELECT 'Error inserted correctly!';
___ ___
-- Set up the nested CATCH block
___ ___
SELECT 'An error occurred inserting the error! You are in the nested CATCH block';
___ ___
___ ___