SQL - TRIGGER INSTEAD OF

 
Vista:

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
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:TRIGGER INSTEAD OF

Publicado por Leopoldo Taylhardat (93 intervenciones) el 26/05/2009 20:53:09
Saludos...
Estas seguro (busca en el manual porque no sé que gestor de bd usas) que el simbolo de ':' va antes de... NEW.CANTIDAD... ':NEW.CANTIDAD'
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar