Fórum Trigger dispara as vezes. Como pode? #53143
03/10/2005
0
As vezes, minha aplicação quando vou gravar um novo registro ela da o seguinte erro:
violation of PRIMARY or UNIQUE key
Estou usando componentes DBExpress e BD Firebird 1.5 e triggers before update para gerar os meus ids auto incremento junto com os generators.
O que eu estou precebendo é que a trigger não está disparando as vezes e com isso ocorre este erro, pois se eu passar o id como parametro não deixando a trigger gerar o auto incremento pra mim, funciona.
Alguém tem alguma idéia do que possa estas acontecendo na minha aplicação? Será problema de trigger mesmo? Será problema de config dos componentes?
Valew a todos
[color=blue:b66590210a][b:b66590210a]Movido de Delphi para Interbase/Firebird[/b:b66590210a][/color:b66590210a]
Seu_madruga
Curtir tópico
+ 0Posts
03/10/2005
Michael
O trigger não deveria ser no Before Insert? E qual o código do seu trigger? Pode postá-lo aqui?
[]´s
Gostei + 0
03/10/2005
Seu_madruga
É isso mesmo, eu coloquei errado. É before insert mesmo.
O código é padrão
new.valor = gen_id(generator,1);
Não tem segredo, a trigger funciona o problema é que as vezes por algum motivo ela não dispara. Eu deduzi isso fazendo meu programa passar como parametro o valor id em vez de esperar a trigger geral pra mim e ela funciona normal.
Mas do jeito que está funciona também mas misteriosamente quando vou inserir um registro em alguns dos cadastro do programa, ele simplesmente não funciona. diz que da violação de chave primario como se a trigger não estivesse sendo disparada e o valor id que está sendo inserido é o antigo.
Gostei + 0
03/10/2005
Beppe
Gostei + 0
04/10/2005
Seu_madruga
Gostei + 0
04/10/2005
Beppe
Gostei + 0
04/10/2005
Seu_madruga
Não, está com False. Coloquei justamente porque a Trigger se encarregará de gerar o ID pra mim.
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)