Dicas Rápidas

Comandos do SQL

Escritor por Kaique Ferreira

Neste artigo vamos falar da importância dos comandos – BEGIN TRASACTION, ROLLBACK TRANSACTION & COMMIT TRANSACTION no SQL, como cada comando funciona e age dentro do banco de dados.

Então mãos à obra…

Fique atualizado, É GRÁTIS!
Cadastre o seu endereço de e-mail e fique por dentro de todas as atualizações da AcademiaERP.
Não enviamos spam.
Logo abaixo temos a definição de cada comando:

BEGIN TRASACTION: Comando que permite você gravar as informações que foram alteradas, porém não são inclusas (confirmada) no banco de dados até você executar o comando COMMIT TRANSACTION.

ROLLBACK TRANSACTION: Comando que permite você voltar as informações antes do UPDATE realizado, ou seja, desfaz os dados alterados.

COMMIT TRANSACTION: Comando que permite incluir as informações no banco de dados após o update ser realizado em critério do comando BEGIN TRASACTION, ou seja, confirma os dados alterados.

Para melhor entendimento vou executar uma query (consulta) na tabela SF1 (Cabeçalho das NFs de entrada), vamos levar em consideração o campo F1_SERIE (número da série da NF entrada.)

2

Com base nas informações acima vamos executar o comando BEGIN TRANSACTION.

3Ao analisar a imagem acima identificamos que o comando BEGIN TRANSACTION foi executado com sucesso, ou seja, o banco de dados vai gravar as alterações que vão ser feitas, entretanto ainda falta executar o comando UPDATE (Atualizar os dados) que só vão ser inclusas (confirmadas) no banco de dados após o comando COMMIT TRANSACTION ser executado.

  • Update: Atualização de dados.
  • Begin: Grava os dados alterados
  • Commit: Confirma os dados alterados
  • Rollback: Desfaz os dados alterados.

Já executamos o comando BEGIN TRANSACTION então vamos executar o comando UPDATE, ou seja, vamos alterar o número da série da NF de entrada.

Abaixo query executada.

4

Conforme informação acima o comando UPDATE foi executado com sucesso, ou seja, alteramos o número da série da NF entrada 000000002 para 2.

Vou executar uma query (consulta) na tabela SF1 (Cabeçalho das NFs de entrada) novamente para visualizarmos a alteração que foi feita, segue abaixo.

5

Como podemos observar a alteração foi feita com sucesso, vou executar o somente o comando ROLLBACK TRANSACTION para não gravar as alterações feitas e posteriormente vou executar a query consulta.

6

Conforme imagem acima o Comando ROLLBACK TRANSACTION foi executado com sucesso, ou seja, não foi gravado a informação, sendo assim o número da série volta a ser 11.

Abaixo consulta realizada da alteração não gravada.

7

Como já aprendemos a utilizar o comando BEGIN TRASACTION e o comando ROLLBACK TRANSACTION, agora vamos realizar o comando UPDATE e posteriormente confirmar o comando COMMIT TRANSACTION.

8

Já na última parte do artigo o comando COMMIT TRANSACTION foi realizado com sucesso, ou seja, a alteração da série foi executada e salva com sucesso, segue abaixo consulta.

9

Sendo assim o comando ROLLBACK TRANSACTION não será mais permitido, pois os dados alterados já foram inclusos e salvos no banco de dados, segue informação abaixo ao tentar executar o ROLLBACK TRANSACTION após o comando COMMIT TRANSACTION ser executado.

10

A mensagem acima refere-se ao comando BEGIN TRANSACTION que não tem mais nenhum dado salvo, pois o mesmo já foi incluso e salvo no banco de dados pelo comando COMMIT TRANSACTION, ou seja, os novos dados já foram gravados e não tem como voltar os dados anterior.

Abaixo um resumo das consultas e alterações que foram feitas em todo o artigo.

11

Sobre o Autor

Kaique Ferreira

Tecnólogo em Processos Gerenciais pela Faculdade ENIAC (Guarulhos/SP), trabalha atualmente como analista de sistemas com o sistema TOTVS Protheus, concluiu um curso de lógica de programação pela T.I educacional, concluiu o curso de Gestão Empresarial utilizando o software ERP Protheus pela IOS (Instituto da Oportunidade Social - TOTVS), concluiu o curso Configuração de Ambientes TOTVS Protheus pela AcademiaERP.

Usuário e admirador do ERP Protheus, ferramenta na qual me identifico e aprendo a cada dia, os módulos que mais conheço são: Compras, Estoque/Custos, Faturamento e Financeiro.

Deixe um comentário

Dúvida?