Saltar para o conteúdo

SQL/Rollback

Origem: Wikilivros, livros abertos por um mundo aberto.
< SQL

A instrução ROLLBACK deve ser utilizada quando o usuário deseja reverter uma mudança feita no código, ou seja ele desfaz as mudanças realizadas no código. Então, o código é restaurado para a primeira versão executada. Após ser feito um COMMIT, não será mais possível realizar um ROLLBACK. No caso de desligamento inesperado da máquina, o ROLLBACK é realizado automaticamente quando o sistema foi reiniciado.

Verificando erros dentro de uma transação:

No SQL SERVER temos uma função de sistema que faz a identificação de um erro dentro de uma transação chamada de ‘@@ERROR’ função essa que por padrão recebe o valor 0 (zero) caso não ocorra nem um erro , no caso de algum erro ela assume o valor 1 (um).

1.Exemplo @@ERROR:

BEGIN TRANSACTION

UPDATE FROM TbContas

SET NuSaldo= 10.000

WHERE NuSaldo < 50

IF @@ERROR = 0

COMMIT

ELSE

ROLLBACK

END