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
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;