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.
AYUDA CUALQUIER APORTE ES BIENVENIDO!!! VISITANTES PORFAVOR
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.
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
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();
ayuda, este code esta bien hecho para una implementacion de una bitacora???
como obtener que dato fue modificado o los datos que fueron modificados ???
estuve investigando algo sobre
if update(atributo) then
end if
alguien me ayuda si esta condicion funciona con postgres?
Cita de: bjpenn en 26 Mayo 2012, 02:15 AM
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.
hola como ejecuto los trigger desde java????????
necesito un ejemplo con los comandos que ejecuta los triggers en java