Duvidas no uso de triggers (firebird)
Ola pessoal, estou com o seguinte problema!!!
Tenho um cadastro de cliente (dentre outros )
dai tenho o codigo de cliente CODCLI-> [00001]
Eu fasso o incremento do codigo atraves de uma trigger, mas só que dai o incremento fica só para frente, vou demonstrar aqui o problema
Eu cadastro o cliente 00001, 00002, 00003, 00004, até ai ele vai na ordem, mas quando eu excluo qualquer um dos registros, dai ferra a o ordem... ele pula um numero, tipow na sequencia ele teria de inserir o 00005, mas como eu exclui um registro ele insere 00006, e se eu excluir dois ele insere o 00007... como resolver isso, eu pude percerber que o controle dos incrementos fica nos GEnerators ...
me ajudem
--------------
BadMaker
Tenho um cadastro de cliente (dentre outros )
dai tenho o codigo de cliente CODCLI-> [00001]
Eu fasso o incremento do codigo atraves de uma trigger, mas só que dai o incremento fica só para frente, vou demonstrar aqui o problema
Eu cadastro o cliente 00001, 00002, 00003, 00004, até ai ele vai na ordem, mas quando eu excluo qualquer um dos registros, dai ferra a o ordem... ele pula um numero, tipow na sequencia ele teria de inserir o 00005, mas como eu exclui um registro ele insere 00006, e se eu excluir dois ele insere o 00007... como resolver isso, eu pude percerber que o controle dos incrementos fica nos GEnerators ...
me ajudem
--------------
BadMaker
Badmaker
Curtidas 0
Respostas
Gandalf.nho
26/11/2004
A única maneira de fazer isso seria fazer via código para localizar os ´buracos´ na numeração, o que não é muito recomendado em ambiente multi-usuário porque pode acarretar conflitos. Para deciodir o que fazer, basta responder a uma pergunta: tem importância para o sistema/usuário não haver buracos na numeração? Se não houver, deixe do jeito normal que não dará problemas.
GOSTEI 0
Badmaker
26/11/2004
Hummm. é obvio, que eu nem precisaria arrumar isso, porém o cliente onde o sistema opera é meio estranho, e não sei porque ele segue a numeração em cima da risca, ou seja ele decorou os clientes com os codigos, entaum ele naum quer que falhe ou pule a numeração...
--------------
BadMaker
--------------
BadMaker
GOSTEI 0
Gandalf.nho
26/11/2004
Se o sistema não for multi-usuário, monte uma procedure para reaproveitar os buracos na numeração. (A menos que você possa convencer seu usuário a deixar assim...)
GOSTEI 0
Emerson Nascimento
26/11/2004
publique sua trigger. talvez o problema esteja nela...
GOSTEI 0
Fsflorencio
26/11/2004
Se vc estiver usando generators, então o problema pode estar na trigger que está executando o gen_id() no evento de exclusão.
O evento de exclusão não pode mexer no generator.
O evento de exclusão não pode mexer no generator.
GOSTEI 0