Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Didiron

Problema com auto incremento

Recommended Posts

Pessoal eu tenho um banco de dados de uma Locadora, com algumas tabelas.

Possuo um cadastro de clientes e para usar auto incremento eu no campo CL_Codigo eu criei um generator chamado generator_cliente e uma trigger.

Olhem o código da trigger:

 

AS

begin

if (new.cl_codigo is null) then

new.cl_codigo = gen_id(generator_cliente,1);

end

 

Agora imaginem que eu tenha os seguintes campos na minha tabela:

 

Cl_Codigo | Cl_Nome

1 | Dionei Cardozo

2 | Claudio

4 | Fernando.

 

Agora se eu adicionar mais um registro sem o Código, ele funciona, ele vai criar um novo registro e o campo CL_Codigo vai receber o valor 3, só que meu problema vem a seguir.

 

Imaginem que minha tabela esteja assim:

 

Cl_Codigo | Cl_Nome

1 | Dionei Cardozo

2 | Claudio

3 | Maria

4 | Fernando.

 

E agora quando eu criar um novo registro o certo o campo Cl_Codigo deveria receber automaticamente o valor 5. Mas ele está dando erro na minha primary kei CL_Codigo e não deixa eu cadastrar.

 

Vocês poderiam me ajudar?

Agradeço desde já.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Altere o seu generator, execute o seguinte comando o Firebird/Interbase:

 

set generator generator_cliente to 4;

 

O próximo código gerado será 5.

 

 

Fernando Matos

FxSoft Desenvolvimento de Sistemas

www.fxsoft.com.br

Compartilhar este post


Link para o post
Compartilhar em outros sites

Só que o Generator sempre está trazendo o último Codigo cadastrado.

por exeplo na minha tabela agora eu tneho seis registros e o meu Generator está com o Value 6

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.