Recomendado, 2024

Escolha Do Editor

Diferença entre COMMIT e ROLLBACK no SQL

COMMIT e ROLLBACK, são as duas declarações transacionais usadas para, fazer ou desfazer as transações. Uma transação pode ter uma sequência de consultas ou pode ter as instruções de atualização que modificam o banco de dados. A diferença fundamental entre o COMMIT e o ROLLBACK está no funcionamento deles. Se a transação for executada com sucesso, a instrução COMMIT permite que a modificação feita pela transação no banco de dados se torne permanente. Por outro lado, se a transação devido a algum motivo for executada com êxito, a instrução ROLLBACK desfará todas as atualizações, diretamente da 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

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, isto é, 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 é abortada no meio da execução.
SintaxeCOMMIT;ROLLBACK;

Definição de COMMIT

COMMIT é uma instrução SQL, que sinaliza a conclusão bem- sucedida de uma transação. Sempre que uma transação completa sua execução sem qualquer 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 nos quais estava, antes da execução da primeira instrução, da transação.

A sintaxe da instrução COMMIT é a seguinte:

COMMIT;

Quando a última declaração da transação termina, a transação se torna parcialmente comprometida . Em seguida, os protocolos de recuperação garantem que, mesmo uma falha do sistema, não seria possível ao banco de dados, para tornar as modificações permanentes. Assim que isso é verificado, o ponto de confirmação da transação atingiu e, finalmente, a transação entra em um estado de confirmação . Quando a transação entra em um estado comprometido, ela não pode ser recuperada e uma nova transação é iniciada.

Definição de ROLLBACK

Como o COMMIT, o ROLLBACK também é uma instrução SQL e sinaliza que a transação não foi concluída com sucesso . Portanto, a transação é anulada para desfazer as alterações feitas pela transação. Após a execução do ROLLBACK, nenhuma modificação feita pela transação atual será retida.

A sintaxe do ROLLBACK é a seguinte:

ROLLBACK;

O ROLLBACK de transação se torna necessário 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 de transação, falha do sistema. No caso de falta de energia ou falha do sistema, o ROLLBACK ocorre quando o sistema é reiniciado novamente. ROLLBACK pode ocorrer somente se COMMIT ainda não for executado.

Principais diferenças entre COMMIT e ROLLBACK no SQL

  1. A principal diferença entre as instruções COMMIT e ROLLBACK do SQL é que a execução da instrução COMMIT faz com que todas as modificações feitas pela transação atual se tornem permanentes. Por outro lado, a execução de ROLLBACK apaga todas as modificações feitas pela transação atual.
  2. Uma vez que a instrução COMMIT tenha executado, a modificação feita pela transação não pode ser ROLLBACK. No entanto, depois 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 sucesso.

Conclusão:

Para garantir que as alterações feitas pela transação sejam permanentemente salvas 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 e, em seguida, desfaça as alterações feitas pela transação, o ROLLBACK é usado.

Top