Ver Mensaje Individual
  #5  
Antiguo 11-06-2007
Avatar de sitrico
[sitrico] sitrico is offline
Miembro Premium
 
Registrado: may 2003
Ubicación: Caracas, Venezuela
Posts: 295
Reputación: 22
sitrico Va por buen camino
Si es un campo de autoincremento lo puedes hacer así:

1ro creas un generador (ibExpert)

Código SQL [-]
CREATE GENERATOR GEN_FACTURAS_ID;
SET GENERATOR GEN_FACTURAS_ID TO 0;

2do creas un trigger (before insert)

Código SQL [-]
SET SQL DIALECT 3;

SET NAMES NONE;

CREATE GENERATOR GEN_FACTURAS_ID;

SET TERM ^ ;


CREATE TRIGGER FACTURAS_ID FOR FACTURAS
ACTIVE BEFORE INSERT POSITION 0
AS
begin
IF (NEW.IDFACTURA IS NULL) THEN
    NEW.IDFACTURA = GEN_ID(GEN_FACTURAS_ID,1); -- aqui pones el generador
end
^


SET TERM ; ^

Y por último cada vez que lances el Insert, manda el campo de autoincremento como null (lo que disparará el trigger)

Código SQL [-]
Insert into AD_FACTURAS 
(IdFactura, fecha, Monto) Values
(Null, :Fecha, :Monto)

De cualquier manera busca en el foro "autoincremento" que hay bastante.
__________________
Sitrico
Responder Con Cita