RES: [firebase-br] Ajuda com Triggers!
Daniel Braz Oliveira (TI)
Daniel.Braz em suzuki.ind.br
Ter Set 28 16:54:05 -03 2004
A solução gambiarra, seria criar uma tabela para aqueles numeros que foram
descartados.
Quando for fazer uma nova inclusão, primeiro verifica se há registros nesta
tabela, que deve ser ordenada crescentemente. Se tem, pega o valor e deleta
o registro. Se não tem, ativa o generator e pega o codigo gerado.
Como eu disse é gambiarra, mas não vejo solução mais fácil que isto.
Daniel Braz de Oliveira (TI)
Supervisor de TI
Suzuki Ind. e Com. Maquinas Ltda
41 - 2106-6363 - Ramal 6381
www.suzuki.ind.br <http://www.suzuki.ind.br>
-----Mensagem original-----
De: Nilton Souza [mailto:ntn em bbs2.sul.com.br]
Enviada em: terça-feira, 28 de setembro de 2004 16:31
Para: FireBase
Assunto: Re: [firebase-br] Ajuda com Triggers!
Flávio,
Você está equivocado, os Generators não estão no contexto da transação, ou
seja, se você pegou o número 10 ESTANDO OU NÃO EM UMA TRANSAÇÃO o próximo
que pedir irá receber o número 11 MESMO QUE VC NÃO TENHA SALVO O REGISTRO.
Note tb que vc poderá ter BURACOS na sua numeração de clientes pois vc pode
simplesmente desistir de efetuar o cadastro mas já ter pego o número 10 o
qual será descartado caso vc não salve o registro ou até mesmo se ocorrer
alguma falha na inclusão.
[]'s
Nilton Souza
----- Original Message -----
From: "Flavio Yamil" <yamil3 em brturbo.com.br>
To: "'FireBase'" <lista em firebase.com.br>
Sent: Tuesday, September 28, 2004 4:24 PM
Subject: RES: [firebase-br] Ajuda com Triggers!
Tudo bem, mas atentem para o fato de que outro usuário pode incluir outro
cliente nesse meio tempo, daí ele vai pegar o valor incrementado do
generator.
Exemplo:
- Eu estou incluindo um cliente e peguei o valor do generator+1, no caso =
10
- Enquanto eu estou com o registro "editado", outro usuário também cadastra
um novo cliente. Obviamente ele também vai pegar o valor do generator+1, que
é o mesmo que o meu, ou seja, = 10
- Ele gravou primeiro do que eu, e o registro dele ficou com o código 10.
Nesse momento, o meu código que também era 10 ficou furado. Agora vai ser
11.
Flavio Yamil
-----Mensagem original-----
De: lista-bounces em firebase.com.br [mailto:lista-bounces em firebase.com.br] Em
nome de Marcilio Soares
Enviada em: terça-feira, 28 de setembro de 2004 09:56
Para: FireBase
Assunto: Re: [firebase-br] Ajuda com Triggers!
tente assim:
SELECT GEN_ID(NOMEGENERATOR,0) FROM RDB$DATABASE
isso vai te retornoar o valor do GEN sem incremento. Funciona que uma beleza
----- Original Message -----
From: "Claudio Borba" <borba em terra.com.br>
To: "FireBase" <lista em firebase.com.br>
Sent: Tuesday, September 28, 2004 9:30 AM
Subject: Re: [firebase-br] Ajuda com Triggers!
> Eu uso uma storedprocedure para pegar o valor do generator e visualizar
> depos gravar, tambem da para fazer usando uma consulta sql para pegar o
> valor do generatos sem procedure
>
> Claudio Borba
>
>
> ----- Original Message -----
> From: "Erick Phillipe R. de Almeida" <ephilliperj em yahoo.com.br>
> To: "FireBase" <lista em firebase.com.br>
> Sent: Monday, September 27, 2004 1:25 PM
> Subject: [firebase-br] Ajuda com Triggers!
>
>
> Estou criando um cadastro de clientes e neste mesmo cadastro preciso
> vincular caracteristicas e contatos ao cliente.
> No entanto, o ID do cliente é gerado em uma TRIGGER (before post). Como
faço
> para saber, em tempo de execução, o valor gerado pela TRIGGER para usar na
> vinculação das outras tabelas?
> ______________________________________________
> FireBase-BR (www.firebase.com.br)
> Para editar sua configuração na lista, use o endereço
> http://mail.firebase.com.br/mailman/listinfo/lista_firebase.com.br
>
> Esta mensagem foi verificada pelo E-mail Protegido Terra.
> Scan engine: VirusScan / Atualizado em 22/09/2004 / Versão: 1.5.2
> Proteja o seu e-mail Terra: http://www.emailprotegido.terra.com.br/
>
> E-mail classificado pelo Identificador de Spam Inteligente Terra.
> Para alterar a categoria classificada, visite
>
http://www.terra.com.br/centralunificada/emailprotegido/imail/imail.cgi?+_u=
borba&_l=1096311054.76582.20287.chui.terra.com.br
>
>
>
> ______________________________________________
> FireBase-BR (www.firebase.com.br)
> Para editar sua configuração na lista, use o endereço
http://mail.firebase.com.br/mailman/listinfo/lista_firebase.com.br
>
>
______________________________________________
FireBase-BR (www.firebase.com.br)
Para editar sua configuração na lista, use o endereço
http://mail.firebase.com.br/mailman/listinfo/lista_firebase.com.br
______________________________________________
FireBase-BR (www.firebase.com.br)
Para editar sua configuração na lista, use o endereço
http://mail.firebase.com.br/mailman/listinfo/lista_firebase.com.br
______________________________________________
FireBase-BR (www.firebase.com.br)
Para editar sua configuração na lista, use o endereço
http://mail.firebase.com.br/mailman/listinfo/lista_firebase.com.br
Mais detalhes sobre a lista de discussão lista