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]