ComeçarComece de graça

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

Ver curso

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
Editar e executar o código