Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Firebird e Interbase (https://www.clubdelphi.com/foros/forumdisplay.php?f=19)
-   -   interbase+delphi 6 (https://www.clubdelphi.com/foros/showthread.php?t=47809)

jgutti 07-09-2007 16:15:05

interbase+delphi 6
 
Hola al foro, tengo una tabla para el calculo de liquidaciones de los trabajadores donde por cada linea corresponde al calcula un concepto ej:
100 SUELDO $250
112 MOVILIZACION $ 30
120 ANTICIPO $ 50

- como puedo realizar un trigger o procedura para que cada vez que actualize una linea del ejemplo anterior, el valor se traspase a una tabla historica(ficha trabajador, sueldo,movilizacion, anticipo) para actualizar el campo correspondiente, ejemplo
- Si actualizo el valor($ 250) para la linea sueldo, esta nuevo valor($250) deberia se almacenado en la tabla historica en el campo sueldo

- espero haber explicado bien la ayuda que necesito
- desde ya gracias por la ayuda

saludos, jgutti

duilioisola 07-09-2007 16:28:01

Quizás esto te sirva ...

Código SQL [-]
create trigger liquidaciones_bu0 for LIQUIDACIONES active before update position 0 as
begin
   if (new.sueldo <> old.sueldo) then 
      insert into historico (campo1,campo2,sueldo,...)
      values(campo1,campo2,old.sueldo,...);
   ...
end

o si quieres pasar el valor del nuevo sueldo:

Código SQL [-]
create trigger liquidaciones_bu0 for LIQUIDACIONES active before update position 0 as
begin
   if (new.sueldo <> old.sueldo) then 
      insert into historico (campo1,campo2,sueldo,...)
      values(campo1,campo2,new.sueldo,...);
   ...
end


La franja horaria es GMT +2. Ahora son las 00:12:57.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi