[firebase-br] Dúvida com transação x refresh
Magno System
magno em speet.com.br
Qui Abr 14 13:04:13 -03 2011
Não tem como. Eu apenas simplifiquei o processo para exemplificar. Na
realidade é uma rotina de PDV off-line. Eu tenho que verificar quantas
vendas tem para descarregar no servidor abrir um loop para correr cada
código de venda, e cada venda navegada dentro deste loop exportar a tabela
de caixa, tabela de estoque, tabela parcelas e outras mais que pertence a
esta venda. Uma vez exportada para o servidor eu apago a do banco local.
Estou usando um COMMIT de duas fases para garantir a integridade. Cada venda
que é descarregada no servidor e apagada no banco local é uma transação.
Estive pesquisando e acho que vou usar a transação CONCURRENCY (REPEATABLE
READ) na query do loop.
----- Original Message -----
From: "Forrest®" <fernando.bg em gmail.com>
To: <lista em firebase.com.br>
Sent: Thursday, April 14, 2011 12:35 PM
Subject: Re: [firebase-br] Dúvida com transação x refresh
Em 14/04/2011 12:12, Magno System escreveu:
> Obrigado Paulo, mas acho que não expliquei direito.
>
> Vou colocar o procedimento:
>
> Query1 = SELECT CODIGOVENDA FROM VENDAS WHERE VENDA > :VENDA;
>
> While Query1.eof = false do
> Begin
> QueryOutroBanco = INSERT INTO VENDAS... (Insere no outro banco a o
> registro atual da query1)
> QueryDesteBanco = DELETE FROM VENDAS (Deleta o registro atual da
> query1)
> Query1.next;
> end;
>
> Note que são 3 querys. Uma para o loop (Query1), uma para inserção em
> outro banco (QueryOutroBanco) e outro para deleção no meu banco
> (QueryDesteBanco)
> Deste modo, preciso assegurar que o IBO não faça nenhum REFRESH em Query1
> para que as deleções feitas por QueryOutroBanco não interfiram no loop.
Boa tarde Magno
Não é muito melhor fazer dessa forma ???
Query1 = SELECT CODIGOVENDA FROM VENDAS WHERE VENDA > :VENDA;
While Query1.eof = false do
Begin
QueryOutroBanco = INSERT INTO VENDAS... (Insere no outro banco a o
registro atual da query1)
Query1.next;
end;
Query1 = DELETE FROM VENDAS WHERE VENDA > :VENDA
Se entendi bem o que você quer terá o mesmo efeito com menos componentes e
menos códigos.
T++++++++++++++
______________________________________________
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
Mais detalhes sobre a lista de discussão lista