[firebase-br] Ref. Sub-transações Firebird 2.1

Felipe Aron felipearon em gmail.com
Ter Nov 23 12:33:07 -03 2010


Isso mesmo.

Pense sempre que para cada transação será realizado um processo num todo e
não em partes.

No teu caso, você irá abrir uma transação para lançar as informações da
venda e também seus produtos (apesar de existir duas etapas venda/itemVenda
o processo total corresponde a essas 2 etapas).


Em 23 de novembro de 2010 09:41, Omar Marques Haddad
<omarhaddadm em gmail.com>escreveu:

> Opa, Bom dia.
>
> Felipe,
>
> Deve ser uma transação somente, mesmo que subrotinas (função
> "LançarItensDaVenda") estejam em outra parte do programa ou similar ?
>
> Obrigado.
>
> Ats.
> Omar M. Haddad
>
> Em 23 de novembro de 2010 07:41, Felipe Aron <felipearon em gmail.com
> >escreveu:
>
> > Uma transação serve para dizer que as informações relacionadas a ela
> foram
> > salvas corretamente ou não.
> >
> > Imagine sua conta bancária e que você irá retirar 100,00 do caixa
> > eletrônico. Basicamente a grosso modo irá ter 2 processos:
> >
> > 1) Debitar 100,00 do seu saldo.
> >
> > 2) Liberar o dinheiro para você.
> >
> > Esses dois processos, assim como teu exemplo, precisam ser concluídos
> como
> > um todo, ou seja, não pode apenas fazer um dos processos. Se isso
> ocorrer,
> > não se deve fazer nenhum, ou seja, ou faz todo o processo corretamente ou
> > não faz nada. Isso garante a integridade das informações.
> >
> > Imagine se isso não ocorresse corretamente - o sistema iria debitar
> 100,00
> > da tua conta mas por algum motivo o dinheiro não foi liberado -
> > simplesmente
> > você perdeu essa grana.
> >
> > Então, para o controle desses casos, existe a transação (já pensando em
> > banco de dados), onde foi abrir 1 transação para o processo total - no
> teu
> > caso venda e itens da venda:
> >
> > try
> >   AbrirTransação;
> >
> >   EmitirVenda;
> >   LançarItensDaVenda;
> >
> >   FecharTransação; (commit)
> >
> > except
> >
> >   ExtornarTransação; (rollback)
> >
> > end
> >
> > Fazendo assim, garante a total integridade das informações. Sempre pense
> no
> > processo TOTAL, onde nesse caso irá ter apenas 1 transação controlando
> todo
> > esse processo.
> >
> > Espero que tenha ajudado essa informação. :D
> >
> > Abraço.
> >
> > --
> > #FollowMe: @felipearon <http://twitter.com/felipearon> (
> > http://felipearon.com.br/)
> > ______________________________________________
> > FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
> > Para saber como gerenciar/excluir seu cadastro na lista, use:
> > http://www.firebase.com.br/fb/artigo.php?id=1107
> > Para consultar mensagens antigas: http://firebase.com.br/pesquisa
> >
>
>
>
> --
> Att.
> Omar Marques Haddad
> Analista de Sistemas Sênior
> ______________________________________________
> FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
> Para saber como gerenciar/excluir seu cadastro na lista, use:
> http://www.firebase.com.br/fb/artigo.php?id=1107
> Para consultar mensagens antigas: http://firebase.com.br/pesquisa
>



-- 
#FollowMe: @felipearon <http://twitter.com/felipearon> (
http://felipearon.com.br/)



Mais detalhes sobre a lista de discussão lista