Recuperar Número de Um Gerador

Delphi

09/07/2005

Olá pessoal, tudo bem? Espero que sim..

Olha, usando o Firebird, pra ter um campo ´Auto-Numeração´ é preciso de um Gerador e uma trigger né? Mas acontece o seguinte, se eu insiro um registro e ao invés de salvar eu cancelo ele, esse número gerado não é usado, mas é perdido.. tem como recuperar ele de uma forma q ele só seja usado quando um registro é salvo?



Allan Elias Ramos :wink:


Aersoftware

Aersoftware

Curtidas 0

Respostas

Beppe

Beppe

09/07/2005

Geralmente é dado um incremento de 1, mas se usar um número negativo, pode voltar o generator. Entretanto, essa técnica é passível de erros sob concorrência, então não é seguro fazer. Não há outro meio de contornar.

gen_id(GENERATOR, -1)

Eu custumo fazer diferente, uso IDs temporários(negativos), na hora de commitar, um ID é gerado quando o atual for negativo.


GOSTEI 0
POSTAR