Transações doomed
Você quer inserir os dados de dois novos clientes na tabela customer. Você prepara um script controlando que, se ocorrer um erro, a transação faça rollback e você receba a mensagem do erro. Você quer controlar isso usando XACT_ABORT em combinação com XACT_STATE.
Este exercício faz parte do curso
Transações e tratamento de erros no SQL Server
Instruções do exercício
- Use a configuração apropriada de
XACT_ABORT. - Verifique se há uma transação aberta.
- Faça rollback da transação.
- Selecione a mensagem de erro.
Exercício interativo prático
Experimente este exercício completando este código de exemplo.
-- Use the appropriate setting
SET XACT_ABORT ___;
BEGIN TRY
BEGIN TRAN;
INSERT INTO customers VALUES ('Mark', 'Davis', '[email protected]', '555909090');
INSERT INTO customers VALUES ('Dylan', 'Smith', '[email protected]', '555888999');
COMMIT TRAN;
END TRY
BEGIN CATCH
-- Check if there is an open transaction
IF ___() <> 0
-- Rollback the transaction
___;
-- Select the message of the error
SELECT ___() AS Error_message;
END CATCH