Ver Mensaje Individual
  #4  
Antiguo 29-10-2008
Avatar de Ana María
Ana María Ana María is offline
Miembro
 
Registrado: ago 2008
Posts: 40
Reputación: 0
Ana María Va por buen camino
Si de pronto lo que necesitas es un identificador sin saltos (por ejemplo números de factura) lo mas práctico es crear un campo (UNIQUE) que se actualice mediante un trigger desde una tabla que haga de contador, mas o menos así (actualizaremos el campo Numero (UNIQUE) en la tabla Facturas:
Código SQL [-]
create table CONTADORES (
 IDUltimo        Integer NOT NULL);

insert into CONTADORES values(1);

create trigger BIFACTURAS for FACTURAS
    active before insert position 0 as
begin
    update CONTADORES
    set    IDUltimo = IDUltimo + 1;
    select IDUltimo - 1
    from   CONTADORES
    into   new.Numero;
end!

Todo esto se puede hacer manteniendo el campo auntoincremental como clave principal y el generador para obtener el número.

Gracias
Responder Con Cita