Base de Datos

Cerrado
Eliza1992 Mensajes enviados 7 Fecha de inscripción lunes, 5 de enero de 2015 Estatus Miembro Última intervención lunes, 9 de febrero de 2015 - 8 feb 2015 a las 07:29
alysson123456 Mensajes enviados 2 Fecha de inscripción sábado, 18 de abril de 2015 Estatus Miembro Última intervención sábado, 18 de abril de 2015 - 18 abr 2015 a las 05:20
Hola,

alguien me puede decir que esta mal en esta funcion quiero para que disminuya el stock de un producto en postgress y con netbeans


CREATE TABLE MEDICAMENTOS
(
MED_CODIGO CHAR(4) PRIMARY KEY,
MED_NOMBRE VARCHAR(15) NOT NULL,
P_UNI_VENTA INTEGER NOT NULL,
STOCK INTEGER NOT NULL
);


CREATE TABLE FACTURA
(
NUM_FAC SERIAL PRIMARY KEY,
FEC_HOR_FAC DATE,
CI_CLI_FAC CHAR(10) ,
TOTAL INTEGER ,
CONSTRAINT CI_CLI_F FOREIGN KEY (CI_CLI_FAC) REFERENCES CLIENTES(CLI_CEDULA)
);

CREATE TABLE DETALLE_FACTURA
(
COD_MED_DF CHAR(4) NOT NULL,
CANTIDAD numeric,
NUM_FAC_DF integer,
CONSTRAINT COD_MED_D FOREIGN KEY (COD_MED_DF) REFERENCES MEDICAMENTOS(MED_CODIGO),
CONSTRAINT NUM_FAC_D FOREIGN KEY (NUM_FAC_DF) REFERENCES FACTURA(NUM_FAC)
);

CREATE OR REPLACE FUNCTION AUM_STOCK()
RETURNS TRIGGER AS
$$
DECLARE
CANT INTEGER;
DISP INTEGER;
BEGIN
SELECT CANTIDAD INTO CANT FROM DETALLE_FACTURA
WHERE NUM_FAC=NEW.NUM_FAC_DF;
SELECT STOCK INTO DISP FROM MEDICAMENTOS
WHERE MED_CODIGO=NEW.COD_MED_DF;
IF CANT<=DISP THEN
UPDATE MEDICAMENTOS
SET STOCK=STOCK-NEW.CANT
WHERE MED_CODIGO:=NEW.COD_MED_DF;
end if;
END;
$$
LANGUAGE plpgsql;

create trigger control_stock
after insert on detalle_factura
for each row
execute procedure AUM_STOCK();

4 respuestas

Eliza1992 Mensajes enviados 7 Fecha de inscripción lunes, 5 de enero de 2015 Estatus Miembro Última intervención lunes, 9 de febrero de 2015
8 feb 2015 a las 22:57
xfa q alguien me ayude :(
0
Eliza1992 Mensajes enviados 7 Fecha de inscripción lunes, 5 de enero de 2015 Estatus Miembro Última intervención lunes, 9 de febrero de 2015
9 feb 2015 a las 00:08
siempre q escribo nadie me ayuda :(
0
alysson123456 Mensajes enviados 2 Fecha de inscripción sábado, 18 de abril de 2015 Estatus Miembro Última intervención sábado, 18 de abril de 2015
18 abr 2015 a las 05:20
Yo te puedo syudar
0
alysson123456 Mensajes enviados 2 Fecha de inscripción sábado, 18 de abril de 2015 Estatus Miembro Última intervención sábado, 18 de abril de 2015
18 abr 2015 a las 05:20
Ayudar
0