Fórum Interbase em rede #258510
16/11/2004
0
No meu botao incluir vou um select max(idrequisicao) e gravo este codigo,
ate ai tudo bem, esta fazendo correto,
Mas acontece quando a estacao 1 e a estacao 2 da rede se conecta ao mesmo tempo, é dado erro
de primary key pois o codigo esta errado.
Obs. Nao posso usar o generator do banco, pois se a o generator esta no nro 1000, e se
o usuario incluir um novo registro ira para 1001, ate ai blz, o usuario exclui o 1001, e
vai incluir mais um novo registro o generator ira para 1002, sendo que nao posso perder
essa numeracao (No caso 1001)
Como eu posso resolver isso
Evandro_araujo
Curtir tópico
+ 0Posts
16/11/2004
Bruno_fantin
Gostei + 0
16/11/2004
Gandalf.nho
E mesmo assim não é garantido, pq outro pode acessar a tabela durante a transação e pegar o mesmo valor. A menos que você faça um tratamento de erro para incrementar o valor até achar um valor não duplicado. Infelizmente, generator é a única opção não problemática.
Mas pq você não pode perder a numeração? É pra auditoria ou coisa parecida?
Gostei + 0
16/11/2004
Bruno_fantin
Gostei + 0
16/11/2004
Gandalf.nho
Gostei + 0
16/11/2004
Bruno_fantin
Ajudei a fazer um sistema que usava essa forma numa tabela que por dia recebia 20 mil novos registros (alguns manuais e outros de forma eletronica)...
E nunca deu nenhum problema e também nunca deixou a tabela travada tempo suficiente para causar timeout...
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)