TRIGGER INSTEAD OF
Publicado por WILSON (1 intervención) el 24/05/2009 19:15:12
BUENAS, ESTE TRIGGER DEBERIA RESTAR LA CANTIDAD COMPRADA DEL CAMPO CANTIDAD_T DE LA TABLA STOCK, PERO NO LO ESTA HACIENDO:
CREATE TABLE COMPRAVENTA(
ID_PRODUCTO CHAR(10),
CANTIDAD NUMBER(4),
VALOR NUMBER(10),
TIPO CHAR(1),
FECHA DATE);
CREATE TABLE STOCK(
ID_PRODUCTO CHAR(10),
CANTIDAD_T NUMBER(4),
VALOR_T NUMBER(10)
);
ALTER TABLE STOCK ADD CONSTRAINT ID_PRODUCTO PRIMARY KEY (ID_PRODUCTO);
ALTER TABLE COMPRAVENTA ADD CONSTRAINT ID_PROD FOREIGN KEY (ID_PRODUCTO)
REFERENCES STOCK (ID_PRODUCTO);
ALTER TABLE COMPRAVENTA ADD CONSTRAINT ID_PRO PRIMARY KEY(ID_PRODUCTO,FECHA);
CREATE OR REPLACE VIEW COMPRA_STOCK AS
SELECT C.CANTIDAD,C.VALOR,C.TIPO,S.CANTIDAD_T,S.VALOR_T
FROM COMPRAVENTA C, STOCK S
WHERE (C.ID_PRODUCTO=S.ID_PRODUCTO AND
C.TIPO LIKE 'C' AND
C.CANTIDAD<S.CANTIDAD_T AND
C.VALOR>=(C.CANTIDAD*S.VALOR_T));
CREATE OR REPLACE TRIGGER COMPRA
INSTEAD OF INSERT ON COMPRA_STOCK FOR EACH ROW
BEGIN
UPDATE STOCK SET CANTIDAD_T=CANTIDAD_T-:NEW.CANTIDAD;
END COMPRA;
/
GRACIAS POR SU AYUDA
CREATE TABLE COMPRAVENTA(
ID_PRODUCTO CHAR(10),
CANTIDAD NUMBER(4),
VALOR NUMBER(10),
TIPO CHAR(1),
FECHA DATE);
CREATE TABLE STOCK(
ID_PRODUCTO CHAR(10),
CANTIDAD_T NUMBER(4),
VALOR_T NUMBER(10)
);
ALTER TABLE STOCK ADD CONSTRAINT ID_PRODUCTO PRIMARY KEY (ID_PRODUCTO);
ALTER TABLE COMPRAVENTA ADD CONSTRAINT ID_PROD FOREIGN KEY (ID_PRODUCTO)
REFERENCES STOCK (ID_PRODUCTO);
ALTER TABLE COMPRAVENTA ADD CONSTRAINT ID_PRO PRIMARY KEY(ID_PRODUCTO,FECHA);
CREATE OR REPLACE VIEW COMPRA_STOCK AS
SELECT C.CANTIDAD,C.VALOR,C.TIPO,S.CANTIDAD_T,S.VALOR_T
FROM COMPRAVENTA C, STOCK S
WHERE (C.ID_PRODUCTO=S.ID_PRODUCTO AND
C.TIPO LIKE 'C' AND
C.CANTIDAD<S.CANTIDAD_T AND
C.VALOR>=(C.CANTIDAD*S.VALOR_T));
CREATE OR REPLACE TRIGGER COMPRA
INSTEAD OF INSERT ON COMPRA_STOCK FOR EACH ROW
BEGIN
UPDATE STOCK SET CANTIDAD_T=CANTIDAD_T-:NEW.CANTIDAD;
END COMPRA;
/
GRACIAS POR SU AYUDA
Valora esta pregunta


0