Fórum Problema com Campo Auto Incremento no Delphi por usar PostgreSql #418747

19/06/2012

0

Olá a todos! Preciso de um help referente como criar um trigger ou procedure no delphi para que códigos (auto incremento) não percam. Estou usando componentes Ado para conectar com o postgresql e um Dbnavigator para fazer as inserções edições dos dados. Porém ao fazer inserção em vez de aparecer o próximo numero do código está exibindo o anterior. Será que alguém pode me ajudar???

Abrs.
Maria Elizandra

Maria Elizandra

Responder

Posts

23/09/2012

Maria Elizandra

Olá, todos!
Resolvi este pequeno probleminha utilizando a instrução sql "select max(codigo)from tabela as id_codigo" inserindo em uma query e quando estiver no estado de inserção o codigo da tabela receberá o último código + 1 para incrementar.

Obrigado pela atenção!
Responder

Gostei + 0

24/09/2012

Alisson Santos

nesse caso poderia utilizar um generator com uma trigger que seria mais facil mesmo.
No caso de não aparecer é referente o generator disparar após comitar as informações no banco.
Caso precisasse pegar o numero anterior poderia utilizar uma função para fazer isso.
Responder

Gostei + 0

24/09/2012

Bruno Leandro

ola Maria, eu utilizo o postgre com delphi conectando pelo zeos e meus campos serial ou bigserial, funcionam corretamente
Responder

Gostei + 0

24/09/2012

Bruno Leandro

o problema de utilizar select max + 1 é que voce tera que implementar um semaforo pois se dois usuarios comitarem ao mesmo tempo irá gerar uma excessao
Responder

Gostei + 0

24/09/2012

Maria Elizandra

Olá, Bruno!
Vc tem razão não tinha pensado essa questão de ocorrer dois cadastrados ao mesmo tempo, de fato preciso criar um exeption. Obrigado pela dica!
Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar