[firebase-br] Transaction
Fausto
fausto.s.a em uol.com.br
Seg Dez 20 10:06:25 -03 2004
Porque vc não utiliza a função gen_id com o parametro 1, apenas na inclusão
do primeiro lancamento, e depois com o parametro 0, no segundo lancamento ai
ele retorna apenas o nº atual do generator.
Vc vai ter apenas que especificar no código se a inclusão do novo lancamento
é para a mesma empresa ex:
crie uma variavel global
emp:string
no evento before insert verifique se o conteudo da váriavel é vazio.
se for vazio ou se a empresa for diferente
nrlancto := gen_id(generator,1)
se nao for vazio e a empresa for igual
nrlancto := gen_id(generator,0)
Esta meio "crú", mas creio que a solução seria por ai.
Fausto
----- Original Message -----
From: "Marlon" <marlon em multi-informatica.com.br>
To: "FireBase" <lista em firebase.com.br>
Sent: Monday, December 20, 2004 9:50 AM
Subject: Re: [firebase-br] Transaction
É que o programa que estou fazendo é com multiplas empresas e a chave
primaria desta tabela é o número do lançamento e código da empresa.
Ssem usar generators ficaria assim:
Lançamento Empresa
1 001
2 001
1 002
2 002
se usa-se generators ficaria assim:
Lançamento Empresa
1 001
2 001
3 002
4 002
A empresa 002 não teria os lançamentos 1 e 2 se utiliza-se generators.
emerson carrard escreveu:
>porqu nao pode usar generators
>
>"Josauro S.J." <josauro em casasoft.inf.br> wrote:Use os generator
>
>Josauro S.J.
>Diretor
>josauro em casasoft.inf.br
>----- Original Message -----
>From: Marlon To: FireBase Sent: Monday, December 20, 2004 8:30 AM
>Subject: [firebase-br] Transaction
>
>
>Olá colegas,
>
>Mais uma vez venho pedir a ajuda de vocês.
>É o seguinte tenho uma rotina no sistema que gera lançamentos
>automáticamente, quando está lançando em dois computadores ao mesmo tempo
>acontece o seguinte erro:
>Lock conflict on wait transaction deatlock. Update conflicts with
>concorrent update.
>
>Na tabela de lançamento tem uma trigger que chama uma stored procedure que
>pega o ultimo número do lançamento e soma mais um (um auto-incremento).
>
>A minha transaction ta configurada para read_committed, rec_version e
>nowait.
>
>Fiz uma aplicação teste utilizando generetors, dai não acontece o erro. So
>que não posso utilizar generators, será que existe alguma configuração no
>banco ou na transaction para resolver este problema?
>
>Desde já agradeço a atenção,
>Marlon
>
>
>
>
--
No virus found in this outgoing message.
Checked by AVG Anti-Virus.
Version: 7.0.296 / Virus Database: 265.6.0 - Release Date: 17/12/2004
______________________________________________
FireBase-BR (www.firebase.com.br) - Hospedado em www.bavs.com.br
Para editar sua configuração na lista, use o endereço
http://mail.firebase.com.br/mailman/listinfo/lista_firebase.com.br
--
No virus found in this incoming message.
Checked by AVG Anti-Virus.
Version: 7.0.296 / Virus Database: 265.6.0 - Release Date: 17/12/2004
--
No virus found in this outgoing message.
Checked by AVG Anti-Virus.
Version: 7.0.296 / Virus Database: 265.6.0 - Release Date: 17/12/2004
Mais detalhes sobre a lista de discussão lista