Diferença entre COMMIT e ROLLBACK no SQL

Autor: Laura McKinney
Data De Criação: 1 Abril 2021
Data De Atualização: 11 Poderia 2024
Anonim
Diferença entre COMMIT e ROLLBACK no SQL - Tecnologia
Diferença entre COMMIT e ROLLBACK no SQL - Tecnologia

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.

  1. Gráfico de comparação
  2. Definição
  3. Principais diferenças
  4. Conclusão

Gráfico de comparação

Base para ComparaçãoCOMMITROLLBACK
BasicCOMMIT valida as modificações feitas pela transação atual.ROLLBACK apaga as modificações feitas pela transação atual.
EfeitoApó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ênciaCOMMIT ocorre quando a transação é executada com sucesso.ROLLBACK ocorre quando a transação é interrompida no meio da execução.
SintaxeCOMMIT;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.

  1. 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.
  2. 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.
  3. 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.