Vinicius,

Passei por uma situação simular com o SQL Server, resolvi da seguinte forma:

Criei uma tabela controle de chaves, onde nesta tabela é composta 3 campos,
NOME_TABELA, ULTIMO_ID, TimeStamp e construí uma função que recebe o nome da
tabela como parametro e me retorna a chave.

Esta função ficou responsável em incluir o primeiro registro com 0000 se não
encontrar a tabela, e se encontrar de ler a última chave incrementar e
atualizar o campo novamente, o controle de concorrencia ficou com o
timestamp, uma vez que para atualizar o timestamp deveria ser o mesmo, caso
contrário repetiria o proceso. Usei com 90 usuários e não tive problemas.

Para a aplicação ficou um código normal e no meu caso precisei mais de uma
vez, então foi só incluir o registro na tabela e chamar a função qdo
necessário e estava pronto.


[]'s

Jean
2009/5/11 Vinicius da Silva Pinto <vinic...@cnen.gov.br>

>
>
> Amigos, estou precisando de algumas dicas de como reinicializar uma chave.
>
> O problema é o seguinte.
>
> Tenho um arquivo de processos e contratos, a numeração deles era
> sequencial,
> só que o cliente quer mudar pra ANO+sequencial e que no inicio do ano seja
> reinicializado.
>
> Até ai tudo bem, eu setei o generator para 20090000, nos teste tudo bem, o
> primeiro processo ficou com o numero 20090001 e segue tudo normal.
>
> Agora eu pergunto, qual seria oa melhor forma de reinicializar ele em
> 01/01/2010, quando o primeiro processo entrar, comparar datas e
> reinicializar?
> Fazer um contador a parte? Estou com algumas ideias mais ainda não achei
> uma
> realmente confiavel, pois em alguns teste que fiz o contador foi
> reinicializado duas vezes causando erro.
>
> Vcs podem me dar alguma ideia????
>
> Agradeço qualquer dica. (Uso D7 e InterBase)
>
> Vinicius.
>
> 
>


[As partes desta mensagem que não continham texto foram removidas]

Responder a