Diferença entre COMMIT e ROLLBACK no SQL
Contente
COMMIT e ROLLBACK, são as duas instruções transacionais usadas para, realizar ou desfazer as transações. Uma transação pode ter uma sequência de consultas ou as instruções de atualização que modificam o banco de dados. A diferença fundamental entre COMMIT e ROLLBACK reside no seu trabalho. Se a transação for executada com sucesso, o COMMIT A instrução permite que a modificação feita pela transação no banco de dados se torne permanente. Por outro lado, se a transação por algum motivo for executada com êxito, o ROLLBACK A instrução desfaz todas as atualizações, desde a primeira instrução da transação atual.
Vamos discutir a diferença entre as instruções Commit e ROLLBACK no SQL com a ajuda do gráfico de comparação mostrado abaixo.
- Gráfico de comparação
- Definição
- Principais diferenças
- Conclusão
Gráfico de comparação
Base para Comparação | COMMIT | ROLLBACK |
---|---|---|
Basic | COMMIT valida as modificações feitas pela transação atual. | ROLLBACK apaga as modificações feitas pela transação atual. |
Efeito | Após a execução da instrução COMMIT, a transação não pode ser ROLLBACK. | Depois que o ROLLBACK é executado, o banco de dados atinge seu estado anterior, ou seja, antes da execução da primeira instrução da transação. |
Ocorrência | COMMIT ocorre quando a transação é executada com sucesso. | ROLLBACK ocorre quando a transação é interrompida no meio da execução. |
Sintaxe | COMMIT; | ROLLBACK; |
Definição de COMMIT
COMMIT é uma instrução SQL, que sinaliza o bem sucedido conclusão de uma transação. Sempre que uma transação conclui sua execução sem nenhuma interrupção, as modificações feitas no banco de dados pela transação se tornam permanentes. O que significa que o banco de dados não pode recuperar seus estados anteriores em que estava, antes da execução da primeira instrução, da transação.
A sintaxe da instrução COMMIT é a seguinte:
COMMIT;
Quando a última instrução da transação termina, a transação se torna parcialmente comprometido. Em seguida, o protocolos de recuperação garantir que mesmo uma falha no sistema não impossibilite o banco de dados para tornar as modificações permanentes. Assim que isso for verificado, o ponto de confirmação da transação chegou e finalmente a transação entra em um estado comprometido. Depois que a transação entra em um estado confirmado, ela não pode ser revertida e uma nova transação é iniciada.
Definição de ROLLBACK
Como COMMIT, ROLLBACK também é uma instrução SQL e sinaliza que a transação foi não foi completado com sucesso. Portanto, a transação é abortado para desfazer as alterações feitas pela transação. Após a execução do ROLLBACK, nenhuma modificação feita pela transação atual é mantida.
A sintaxe de ROLLBACK é a seguinte:
ROLLBACK;
A transação ROLLBACK se torna necessária se ocorrer um erro durante a execução de uma transação. O erro pode ser a falha do sistema, falta de energia, erro nas instruções da transação, falha no sistema. No caso de falta de energia ou falha do sistema, o ROLLBACK ocorre quando o sistema é reiniciado novamente. ROLLBACK pode ocorrer apenas se COMMIT ainda não estiver executado.
- A principal diferença entre as instruções COMMIT e ROLLBACK do SQL é que a execução da instrução COMMIT torna permanente toda a modificação feita pela transação atual. Por outro lado, a execução do ROLLBACK apaga todas as modificações feitas pela transação atual.
- Depois que a instrução COMMIT é executada, a modificação feita pela transação não pode ser ROLLBACK. No entanto, uma vez que a instrução ROLLBACK é executada, o banco de dados atinge seu estado anterior.
- COMMIT é executado na execução bem-sucedida das instruções da transação. No entanto, o ROLLBACK é executado quando a transação não é executada com êxito.
Conclusão:
Para garantir que as alterações feitas pela transação sejam salvas permanentemente no banco de dados, use COMMIT após a conclusão bem-sucedida da transação. Caso a transação enfrente algum erro durante a execução, para desfazer as alterações feitas pela transação, ROLLBACK é usado.