Comandos COMMIT e ROLLBACK no SQL – Conheça Agora!
Você já conhece os comandos COMMIT e ROLLBACK no SQL? Então você precisa conhecer, vem comigo que eu te ensino!
COMMIT e ROLLBACK são comandos do grupo TCL do SQL, responsável pelo controle de transações: o COMMIT grava definitivamente no banco as alterações feitas por INSERT, UPDATE ou DELETE, e o ROLLBACK desfaz essas alterações. A regra prática é simples: depois de um COMMIT, o ROLLBACK não volta mais atrás.
Caso prefira esse conteúdo no formato de vídeo-aula, assista ao vídeo abaixo ou acesse o nosso canal do YouTube!
O que você aprende neste vídeo
Resposta rápida: A aula ensina a controlar transações no SQL com os comandos COMMIT e ROLLBACK, do conceito de TCL até dois exemplos rodados numa tabela de funcionários. Você aprende a desfazer um DELETE com ROLLBACK, gravar a alteração com COMMIT, entender por que depois dele não há volta e reconhecer o auto-commit dos comandos DDL.
Neste vídeo (12 min):
- 1:00 - O grupo TCL do SQL e o que conta como transação:
INSERT,UPDATEeDELETE - 2:00 - Salvar o script no editor não salva a alteração no banco: quem salva é o
COMMIT - 3:00 - Por que o desfazer do editor não reverte o banco, e o papel do
ROLLBACK - 4:00 - Exemplo 1 no banco de RH: localizar o funcionário 130 com
SELECT * FROM employees - 5:00 - Exclusão com
DELETE FROM employeespelo id 130 e conferência de que a linha sumiu - 6:00 -
ROLLBACKdesfazendo a exclusão e trazendo o funcionário 130 de volta à tabela - 7:00 - Exemplo 2: excluir a linha, rodar
COMMITe só então tentar oROLLBACK - 8:00 -
COMMITgravando a exclusão e oROLLBACKseguinte não trazendo mais a linha de volta - 10:00 - Comandos DDL como
CREATE,ALTEReDROPtêm auto-commit e não aceitamROLLBACK
Trechos do vídeo:
COMMITeROLLBACKpertencem ao grupo TCL, a linguagem de controle de transação, e agem sobreINSERT,UPDATEeDELETE- Depois de um
COMMIT, oROLLBACKnão desfaz mais aquela alteração: a gravação no banco passa a ser definitiva - Comandos DDL como
CREATE,ALTEReDROPtêm auto-commit, ou seja, são salvos sozinhos e não aceitamROLLBACK - Salvar o arquivo de script no editor guarda apenas o código; a alteração no banco só persiste com
COMMIT
Para receber por e-mail o(s) arquivo(s) utilizados na aula, preencha:
COMMIT e ROLLBACK no SQL
Hoje eu vou te mostrar 2 comandos do SQL que você precisa conhecer. Vou te mostrar o comando COMMIT e o comando ROLLBACK que vão te ajudar muito.
São comandos importantes que vão te auxiliar quando estiver tratando com seu banco de dados no SQL.
Comandos do SQL
Esses comandos do SQL são bem simples e fáceis de entender, mas vão te ajudar bastante na hora de trabalhar com os bancos de dados.
Lembrando que para exemplificar vamos utilizar o Oracle SQL Developer, mas como são códigos em SQL vão funcionar em qualquer outro SGBD (Sistema de Gerenciamento de Bancos de Dados).
Esses dois comandos estão dentro do grupo de comandos TCL. Então vamos a prática para ver como eles funcionam.
Esse é um grupo de comando que é responsável pelo controle de transação, que pode ser para salvar alterações no banco de dados (COMMIT) ou para desfazer alterações no banco de dados (ROLLBACK).
Como usar ROLLBACK
O primeiro exemplo é para excluir um funcionário dentro do banco de dados em uma tabela, e em seguida utilizar o comando ROLLBACK para desfazer esse procedimento.
-- Exemplo 1: Exclua o funcionário 130 da tabela EMPLOYEES. Em seguida, utilize o ROLLBACK.
SELECT * FROM employees;
DELETE FROM employees
WHERE employee_id = 130;
ROLLBACK;Aqui você consegue visualizar que o funcionário 130 está dentro do banco de dados, mas ao utilizar o comando DELETE FROM esse funcionário deixa de existir.

Agora podemos utilizar o comando ROLLBACK para desfazer essa alteração que acabamos de executar, assim o funcionário volta a existir dentro do banco de dados.

Como usar COMMIT
Para esse segundo exemplo nós vamos fazer o mesmo procedimento, vamos excluir o funcionário 130, mas dessa vez nós vamos utilizar o comando COMMIT após essa alteração.
-- Exemplo 2: Exclua o funcionário 130 da tabela EMPLOYEES. Em seguida, utilize o COMMIT.
-- Por fim, tente usar o comando ROLLBACK e veja o que acontece.
SELECT * FROM employees;
DELETE FROM employees
WHERE employee_id = 130;
COMMIT;
ROLLBACK;Feito isso nós vamos utilizar o comando ROLLBACK para verificar o que acontece depois de salvar as alterações que foram feitas no banco de dados.

Aqui você pode notar que depois de salvar uma alteração nós não conseguimos desfazer o que foi feito, então mesmo utilizando o comando ROLLBACK não será possível desfazer a alteração.
Nesses casos é importante tomar muito cuidado para não salvar essas alterações antes de poder desfazer o que foi feito, pois uma vez salvo não tem como voltar atrás.
Perguntas frequentes
1. O que é uma transação no SQL?
É o conjunto de alterações feitas no banco que só se tornam definitivas quando você confirma. Enquanto a transação está aberta, comandos como INSERT, UPDATE e DELETE ficam pendentes: o COMMIT confirma todas de uma vez e o ROLLBACK descarta o que foi feito desde o início dela.
2. Como desfazer um DELETE no SQL?
Se você ainda não executou o COMMIT, basta rodar o ROLLBACK que as linhas apagadas voltam para a tabela. Depois do COMMIT, o ROLLBACK não tem mais efeito e a recuperação passa a depender de backup do banco. Por isso vale conferir o SELECT antes de confirmar qualquer exclusão.
3. Quais comandos fazem parte do grupo TCL?
O TCL, de Transaction Control Language, reúne os comandos que controlam transações: COMMIT para salvar, ROLLBACK para desfazer e SAVEPOINT para marcar um ponto intermediário. Ele é um dos grupos do SQL, ao lado do DDL, que cria estruturas, do DML, que manipula dados, e do DCL, de permissões.
4. COMMIT e ROLLBACK funcionam em qualquer banco de dados?
Sim, são comandos padrão do SQL. Os exemplos da aula usam o Oracle SQL Developer, mas eles funcionam também em MySQL, SQL Server, PostgreSQL e outros bancos. O que muda de um para outro é o comportamento padrão: alguns já salvam automaticamente até você abrir a transação.
Conclusão - Comandos COMMIT e ROLLBACK no SQL
Nessa aula eu te mostrei como usar os comandos COMMIT e ROLLBACK no SQL para que você possa salvar as alterações que fez ou desfazer uma alteração.
Lembrando que o comando ROLLBACK só vai funcionar se você não tiver utilizado o comando COMMIT anteriormente, caso contrário não será possível desfazer as alterações!
Leia também sobre: Trigger no SQL – Para que serve e como funciona?
Hashtag Treinamentos
Para acessar outras publicações de SQL, clique aqui!


