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 Buscar Temas de Hoy Marcar Foros Como Leídos

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: 22
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


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

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 11:49:45.


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