Ver Mensaje Individual
  #2  
Antiguo 28-11-2011
cloayza cloayza is offline
Miembro
 
Registrado: may 2003
Ubicación: San Pedro de la Paz, Chile
Posts: 947
Reputación: 25
cloayza Tiene un aura espectacularcloayza Tiene un aura espectacular
Thumbs up

Primero el objetivo de los campos autoincremento es generar numeros correlativos únicos para un registro.

Lo otro de numerar los item del detalle lo podrias hacer de la siguiente manera:

Al momento de insertar un registro en el detalle, realizar una consulta para obtener el MAXIMO valor de los items del detalle y sumarle uno, asi podrias tener la secuencia que deseas.

Código SQL [-]

CREATE OR ALTER TRIGGER DETALLE_BI0 FOR DETALLE
ACTIVE BEFORE INSERT POSITION 0
AS
DECLARE VARIABLE ID INTEGER;
begin

     /* Trigger text */
     IF ((NEW.ID_ITEM IS NULL) OR (NEW.ID_ITEM=0) ) THEN
     BEGIN
            SELECT MAX(ID_ITEM)
            FROM DETALLE
            WHERE ID_MASTER=:NEW.ID_MASTER
            INTO :ID;

           IF (ID IS NULL) THEN
              ID=1;
          ELSE
              ID=ID+1;

             NEW.ID_ITEM=:ID;
     END
end

Espero te ayude, saludos cordiales
Responder Con Cita