Array
(
)

Codigo Unico

Makweru
   - 17 fev 2006

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

CodigoDaFaculdade-Numero Sequencial com 5 digitos-Ano de Registo

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

Uso Delphi7 + Firebird 1.5.3 + DBExpress


Paullsoftware
   - 17 fev 2006

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:


Makweru
   - 17 fev 2006


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


No momento de salvar.


Citação:
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.


Paullsoftware
   - 17 fev 2006

ok!

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


Makweru
   - 20 fev 2006

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

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

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