Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Bases de datos > Firebird e Interbase
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 24-02-2009
elvymena elvymena is offline
Miembro
 
Registrado: sep 2007
Posts: 20
Poder: 0
elvymena Va por buen camino
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.
Responder Con Cita
  #2  
Antiguo 24-02-2009
Luis F. Orjuela Luis F. Orjuela is offline
Miembro
 
Registrado: may 2003
Ubicación: Bogotá - Colombia
Posts: 68
Poder: 21
Luis F. Orjuela Va por buen camino
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
__________________
Ing. LUIS FERNANDO ORJUELA
BOGOTA - COLOMBIA
Responder Con Cita
  #3  
Antiguo 25-02-2009
elvymena elvymena is offline
Miembro
 
Registrado: sep 2007
Posts: 20
Poder: 0
elvymena Va por buen camino
Le agradezco su pronta respuesta, pero me gustaria saber como le paso este valor a mi Store Procedure.

Saludos.
Responder Con Cita
  #4  
Antiguo 25-02-2009
elvymena elvymena is offline
Miembro
 
Registrado: sep 2007
Posts: 20
Poder: 0
elvymena Va por buen camino
o sea, me refiero al valor de COD.
Responder Con Cita
  #5  
Antiguo 25-02-2009
elvymena elvymena is offline
Miembro
 
Registrado: sep 2007
Posts: 20
Poder: 0
elvymena Va por buen camino
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)
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Como hacer un Trigger para toda una BD rgstuamigo SQL 7 21-11-2008 22:36:22
¿Firebir el problematico? rastafarey Firebird e Interbase 0 15-12-2007 18:12:35
edit1 que sume con un combobox tazzmk OOP 5 10-09-2007 22:41:55
como iniciar servicios de firebir en Linux gescoto99 Firebird e Interbase 0 07-04-2005 18:40:11
Que sume al Actualizar cmgenny SQL 1 22-04-2004 07:54:08


La franja horaria es GMT +2. Ahora son las 15:58:58.


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
Copyright 1996-2007 Club Delphi