↩️ ROLLBACK no SQL

Introdução

O comando ROLLBACK pertence ao grupo TCL (Transaction Control Language) e tem como objetivo desfazer alterações realizadas durante uma transação.

Ele permite retornar o banco de dados ao estado anterior antes da confirmação definitiva através do COMMIT.

📌 ROLLBACK cancela alterações ainda não confirmadas em uma transação.

Funcionamento do ROLLBACK

  1. Uma transação é iniciada.
  2. Operações SQL são executadas.
  3. Um erro ou problema é identificado.
  4. O ROLLBACK desfaz as alterações.

Sintaxe


ROLLBACK;
          

Exemplo com INSERT


START TRANSACTION;


INSERT INTO clientes

(nome, cidade)

VALUES

('João', 'Curitiba');


ROLLBACK;
          

O cliente inserido será removido porque a alteração foi cancelada.

Exemplo com UPDATE


START TRANSACTION;


UPDATE funcionarios

SET salario = 9000


WHERE id = 5;


ROLLBACK;
          

O salário voltará ao valor anterior.

Exemplo com DELETE


START TRANSACTION;


DELETE FROM produtos

WHERE id = 20;


ROLLBACK;
          

O produto não será excluído definitivamente.

ROLLBACK x COMMIT

ROLLBACK COMMIT
Desfaz alterações Confirma alterações
Retorna ao estado anterior Torna dados permanentes
Usado em caso de erro Usado após sucesso

ROLLBACK Automático

Alguns erros no banco de dados podem causar um rollback automático da transação.


START TRANSACTION;


INSERT INTO clientes
VALUES
(1,'Ana');


-- Erro de chave duplicada


ROLLBACK;
          

ROLLBACK com SAVEPOINT

É possível voltar até um ponto específico utilizando SAVEPOINT.


START TRANSACTION;


UPDATE clientes

SET cidade='São Paulo'

WHERE id=1;


SAVEPOINT etapa1;


DELETE FROM pedidos;


ROLLBACK TO etapa1;


COMMIT;
          

Apenas a exclusão será desfeita.

Importância do ROLLBACK

Benefício Descrição
Segurança Evita alterações incorretas
Controle Permite cancelar operações
Integridade Mantém dados consistentes
Recuperação Corrige erros durante processos

Aplicações no Mundo Real

Sistema Exemplo
Bancos Cancelar transferência com erro
E-commerce Cancelar pedido incompleto
ERP Desfazer atualização incorreta
Estoque Corrigir movimentação

Erros Comuns

Erro Problema
Executar COMMIT antes de validar ROLLBACK não funciona depois
Não usar transações Alterações não podem ser revertidas
Transações muito grandes Maior consumo de recursos
Ignorar erros Dados inconsistentes

Boas Práticas

Resumo da Aula

🎓 Aula concluída! Agora você sabe utilizar ROLLBACK para cancelar alterações e manter a segurança das transações SQL.