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

 
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 25-03-2014
mantraxer21 mantraxer21 is offline
Miembro
 
Registrado: ago 2010
Posts: 94
Poder: 14
mantraxer21 Va por buen camino
Trigger de calculo Stock Firebird

Estiamdos :

Tengo el siguiente Trigger en Firebird 2.5.

Código SQL [-]
SET TERM ^ ;



CREATE OR ALTER TRIGGER STOCK_MATERIALES FOR PRESTAMOS
ACTIVE AFTER INSERT POSITION 0
AS
begin
  /* Trigger text */

  update libros set libros.cantidad_lib = -1 *(select sum(prestamos.cantidad_material1)
  from prestamos where prestamos.id_material1 = new.id_material1)
  where libros.idlibro = new.id_material1;
end
^


SET TERM ; ^

Los campos de la tabla Libros son:

Código SQL [-]
    IDLIBRO          INTEGER NOT NULL,
    IDAUTOR          INTEGER,
    ISBN_LIB         VARCHAR(25),
    TITULO_LIB       VARCHAR(50),
    IDTEMATICA       INTEGER,
    CANTIDAD_LIB     INTEGER,
    CANTIDAD_MINIMA  INTEGER,
    ANIO_LIB         VARCHAR(4),
    REGISTRO_LIB     DATE DEFAULT 'NOW',
    IDIOMA_LIB       INTEGER,
    IDUBICACION      INTEGER,
    PAGINAS          INTEGER

Campos de la tabla préstamos son:

Código SQL [-]
    IDPRESTAMO          INTEGER NOT NULL,
    ID_ALUMNO           INTEGER,
    ID_DOCENTE          INTEGER,
    FECHA_PRESTAMO      DATE,
    ID_MATERIAL1        INTEGER, // libro o material 1
    ID_MATERIAL2        INTEGER, // libro o material 2
    ID_MATERIAL3        INTEGER, // libro o material 3
    FECHA_DEVOLUCION1   DATE,
    FECHA_DEVOLUCION2   DATE,
    FECHA_DEVOLUCION3   DATE,
    CANTIDAD_MATERIAL1  INTEGER, // unidades a solicitar de material 1
    CANTIDAD_MATERIAL2  INTEGER, // unidades a solicitar de material 2
    CANTIDAD_MATERIAL3  INTEGER // unidades a solicitar de material 3

Pero por ejemplo en el campo "CANTIDAD_LIB" de la tabla libros tengo asignado un stock de prueba "200", pero al momento de hacer INSERT sobre la Tabla préstamos, me muestra "-120" registros en el campo "CANTIDAD_LIB" de la tabla Libros.

Alguien una ayuda?
Responder Con Cita
 



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
Trigger en Firebird Antoniov Conexión con bases de datos 5 21-09-2011 19:13:56
Trigger Firebird tec Firebird e Interbase 3 04-10-2010 21:46:43
Importar datos de hoja de calculo excel a firebird 1.5 day_eli Conexión con bases de datos 1 07-02-2007 20:02:28
Error Calculo FIREBIRD 1.5.2.4731 ASAPLTDA Firebird e Interbase 1 10-01-2006 21:55:26
Calculo por medio de un trigger.... ? uper Tablas planas 2 18-11-2005 00:08:39


La franja horaria es GMT +2. Ahora son las 12:47:30.


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