Foro de elhacker.net

Programación => Bases de Datos => Mensaje iniciado por: bengy en 19 Mayo 2012, 03:37 am



Título: TRIGGERS ayuda
Publicado por: bengy en 19 Mayo 2012, 03:37 am
Código:
create table DETALLE_VENTA (
   ID_VENTA             NUMERIC              not null,
   ID_PROD              VARCHAR(30)          null,
   CANTIDAD             NUMERIC              null,
   PRECIO_UNIT_PRO      FLOAT8               null,
   MONTO_TOTAL          FLOAT4               null
);



create table VENTA (
   ID_VENTA             NUMERIC              not null,
   ID_CAJERO            NUMERIC              null,
   CI_CLI               NUMERIC              null,
   FECHA                DATE                 not null,
   HORA                 TIME                 not null,
   constraint PK_VENTA primary key (ID_VENTA)
);



create table HISTO_PRODUCTO (
   ID_PROD              VARCHAR(30)          null,
   nombre_pro           VARCHAR(30)          not null,
   FECHA                DATE                 not null,
   NOMBRE_PROC          VARCHAR(50)          not null
);




create table PRODUCTO (
   ID_PROD              VARCHAR(30)          not null,
   PROCEDENCIA          VARCHAR(20)          not null,
   NOMBRE               VARCHAR(20)          not null,
   PESO                 FLOAT8               null,
   GARANTIA             CHAR(2)              null,
   UDS                  INT4                 null,
   SECTOR_PRO           VARCHAR(20)          not null,
   UBICACION            VARCHAR(20)          not null,
   LITROS               INT4                 null,
   PUNTO_REORDEN        INT4                 not null,
   STOCK                INT4                 not null,
   constraint PK_PRODUCTO primary key (ID_PROD)
);



en la tabla detalle_venta se encuentra el atributo cantidad, y el la tabla producto se encuentra el atributo stock, entonces lo que quiero que me ayuden es que como puedo hacer automatico la disminucion del stock para cada producto en cada venta.

ya se que tengo que utilizar triggers, pero en lo que fallo es como hacer la funcion del trigger ya que tengo que modificar para cada producto y para cada determinada venta.


Título: Re: TRIGGERS ayuda
Publicado por: bengy en 19 Mayo 2012, 03:57 am
AYUDA CUALQUIER APORTE ES BIENVENIDO!!! VISITANTES PORFAVOR


Título: Re: TRIGGERS ayuda
Publicado por: HdM en 19 Mayo 2012, 09:20 am
Buenas.

http://dev.mysql.com/doc/refman/5.0/es/triggers.html (http://dev.mysql.com/doc/refman/5.0/es/triggers.html)

Postea cómo estás desarrollando el trigger.

Saludos.


Título: Re: TRIGGERS ayuda
Publicado por: bengy en 20 Mayo 2012, 06:46 am
bueno ya solucione y funciona bien
muxas gracias...

pero me surgio un nuevo problema espero que me ayuden porfavor

tengo que hacer bitacoras de producto lo realize de esta manera quiero que me digan si las bitacoras se hacen tambien con trigger???
aki esta el code
Código:

CREATE OR REPLACE FUNCTION FunBitaProd() RETURNS TRIGGER AS $$
DECLARE
NOM   VARCHAR;
NOM_PROC VARCHAR;
BEGIN

NOM=(SELECT NOMBRE FROM PRODUCTO WHERE ID_PROD=NEW.ID_PROD);
NOM_PROC=(SELECT PROCEDENCIA FROM PRODUCTO WHERE ID_PROD=NEW.ID_PROD);

INSERT INTO histo_producto(id_prod, nombre_pro, fecha, nombre_proc)
    VALUES (NEW.ID_PROD, NOM, current_date, NOM_PROC);

RETURN NEW;
END;
$$ LANGUAGE PLPGSQL;

CREATE TRIGGER BitaProd AFTER INSERT OR UPDATE
ON PRODUCTO FOR EACH ROW
EXECUTE PROCEDURE FunBitaProd();


Título: Re: TRIGGERS ayuda
Publicado por: bengy en 20 Mayo 2012, 16:38 pm
ayuda, este code esta bien hecho para una implementacion de una bitacora???


Título: Re: TRIGGERS ayuda
Publicado por: bengy en 26 Mayo 2012, 02:15 am
como obtener que dato fue modificado o los datos que fueron modificados ???


Título: Re: TRIGGERS ayuda
Publicado por: bengy en 26 Mayo 2012, 03:01 am
estuve investigando algo sobre
if update(atributo) then


end if

alguien me ayuda si esta condicion funciona con postgres?


Título: Re: TRIGGERS ayuda
Publicado por: Saberuneko en 29 Mayo 2012, 13:24 pm
como obtener que dato fue modificado o los datos que fueron modificados ???

Mírate bien cómo funcionan las variables .new y .old en el update.
Si la .new y la .old son distintas, significa que esa se modificó.

Un Saludo.


Título: Re: TRIGGERS ayuda
Publicado por: bengy en 12 Junio 2012, 01:01 am
hola como ejecuto los trigger desde java????????

necesito un ejemplo con los comandos que ejecuta los triggers en java