17/02/2006

Codigo Unico

Alo pessoal!

Tenho uma tabela que tem um campo com o nome IDEstudante. Este campo deverá ser preenchido a quando da insercao de um novo registo e deveré ter o seguinte formato

[b:71dc4c6c1b]CodigoDaFaculdade-Numero Sequencial com 5 digitos-Ano de Registo[/b:71dc4c6c1b]

O numero sequencial é obtido através de um SP ´SELECT MAX(oRDEM) FROM TESTUDANTE.
A minha pergunta é: [b:71dc4c6c1b]será que não haverá dois usuários simutaneos a pegar o mesmo valor para este campo, se considerar que o sistema é multi usuario?[/b:71dc4c6c1b]

Uso Delphi7 + Firebird 1.5.3 + DBExpress


Makweru

Respostas

17/02/2006

Paullsoftware

quando vc ta disparando a SP, no momento da inserção ou no momento de Salvar o registro...

eu Uso Trigger para disparar um Gerador, mais no delphi chama o gerador somente quando é dado o Post na tabela, crio que a probabilidade de dois usuários clicarem ao mesmo tempo em um botão e os dois PC reponderem ao mesmo tempo para o servidor seria bem remota não acha!! :lol:


Responder Citar

17/02/2006

Makweru

quando vc ta disparando a SP, no momento da inserção ou no momento de Salvar o registro...


No momento de salvar.

eu Uso Trigger para disparar um Gerador, mais no delphi chama o gerador somente quando é dado o Post na tabela, crio que a probabilidade de dois usuários clicarem ao mesmo tempo em um botão e os dois PC reponderem ao mesmo tempo para o servidor seria bem remota não acha!! :lol:


Bom, esta é a minha preocupação.
Vou ver se uso este esquema TRIGGER/GERADOR que voce citou aqui. Depois digo alguma coisa.


Responder Citar

17/02/2006

Paullsoftware

ok!

eu achei mais simples, pq é gerado no proprio banco do servidor..


Responder Citar

20/02/2006

Makweru

Usando Triggers e Generator é possível criar um código unico com o formato:

[u:73ea2c0953][b:73ea2c0953]00001-2006[/b:73ea2c0953][/u:73ea2c0953]

Onde os primeiros cinco digitos são incrimentados a uma unidade sempre que é adicionado um usuário e 2006 é o ano?


Responder Citar