ComeçarComece de graça

Usando savepoints

Sua colega Anita precisa de ajuda. Ela preparou um script que usa savepoints, mas ele não funciona. O script marca o primeiro savepoint, savepoint1, e então insere os dados de um cliente. Em seguida, o script marca outro savepoint, savepoint2, e novamente insere os dados de outro cliente. Depois disso, ambos os savepoints são desfeitos (rollback). Por fim, o script marca mais um savepoint, savepoint3, e insere os dados de outro cliente.

Anita disse que o script não funciona porque tem alguns erros, mas ela não sabe como corrigi-los. Você pode ajudar?

Este exercício faz parte do curso

Transações e tratamento de erros no SQL Server

Ver curso

Instruções do exercício

  • Execute o código para verificar que há erros.
  • Corrija todos os erros.

Exercício interativo prático

Experimente este exercício completando este código de exemplo.

BEGIN TRAN;
	-- Mark savepoint1
	savepoint1 SAVE TRAN;
	INSERT INTO customers VALUES ('Mark', 'Davis', '[email protected]', '555909090');

	-- Mark savepoint2
    savepoint2 SAVE TRAN;
	INSERT INTO customers VALUES ('Zack', 'Roberts', '[email protected]', '555919191');

	-- Rollback savepoint2
	savepoint2 ROLLBACK TRAN;
    -- Rollback savepoint1
	savepoint1 ROLLBACK TRAN;

	-- Mark savepoint3
	savepoint3 SAVE TRAN;
	INSERT INTO customers VALUES ('Jeremy', 'Johnsson', '[email protected]', '555929292');
-- Commit the transaction
COMMIT TRAN;
Editar e executar o código