Duvidas no uso de triggers (firebird)

Firebird

26/11/2004

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


Badmaker

Badmaker

Curtidas 0

Respostas

Gandalf.nho

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

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


GOSTEI 0
Gandalf.nho

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

Emerson Nascimento

26/11/2004

publique sua trigger. talvez o problema esteja nela...


GOSTEI 0
Fsflorencio

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.


GOSTEI 0
POSTAR