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)
-   -   Como hacer un Trigger que Sume en Firebir (https://www.clubdelphi.com/foros/showthread.php?t=63640)

elvymena 24-02-2009 15:01:19

Como hacer un Trigger que Sume en Firebir
 
Saludos

Estaba buscando una solucion a esto y no la encontre y me urge encontrarla, por favor en la medida de lo posible ayudarme.

Tengo una table de:

Inventario
Recepcion de Mercancia y a su vez esta tiene una de:
Detalle de Recepcion;

Quiero hacer un Trigger que a la hora de Ejecutar se vaya a la table de Detalle de Recepcion, me lea todas las cantidades que se agregaron alli y estas se la sume al Articulo correspondiente en la tabla de Inventario.


Gracias de ante mano y espero entiendan el cuestionamiento.

Luis F. Orjuela 24-02-2009 16:39:17

Bueno,, una aclaración, cuando se programa un trigger sobre una tabla, éste sólo se ejecuta y tiene en cuenta el registro activo en ese momento.

Por lo tanto para lo que tú quieres, "sumar todas las cantidades de la tabla detalle para ese artículo y actualizar la tabla Inventario",; lo que debes hacer es programar un "STORE PROCEDURE" y que éste se ejecute justo después de que hayas grabado el resgistro en tu tabla DETALLE..

Más o menos sería así el procedimiento que debes programar dentro de tu base de datos FIREBIRD:

Código Delphi [-]
CREATE PROCEDURE NEW_PROCEDURE(
  COD SMALLINT)
AS
DECLARE VARIABLE TOTAL SMALLINT;
BEGIN
  /* Procedure body */
  select sum(cantidad_detalle) form tabla_detalle
  where cod_recepcion = :COD into :TOTAL;

  update tabla_inventario
   set cantidad_inventario = :TOTAL
   where cod_inventario = :COD;
  SUSPEND;
END
;

Donde COD es la llave principal de tu tabla inventario,recepcion y detalle recepcion.

Cabe anotar que este parámetro se lo debes pasar a tu STORE PROCEDURE antes de ejecutarlo.


Un caluroso saludos desde BOGOTA - COLOMBIA

elvymena 25-02-2009 16:04:14

Le agradezco su pronta respuesta, pero me gustaria saber como le paso este valor a mi Store Procedure.

Saludos.

elvymena 25-02-2009 16:04:46

o sea, me refiero al valor de COD.

elvymena 25-02-2009 17:59:38

Ing. LUIS FERNANDO ORJUELA
Muchisimas gracias.

Investigando y a la vez con la ayuda que me proporciono pude encontrarle la solucion a este tema. Muchas gracias nuevamente.

Saludos

Elvy Mena.
Estudiante Universitario.
Universidad Autonoma de Santo Domingo (UASD)


La franja horaria es GMT +2. Ahora son las 00:21:26.

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