Ver Mensaje Individual
  #1 (permalink)  
Antiguo 15/06/2005, 22:22
Avatar de Super_Seba
Super_Seba
 
Fecha de Ingreso: noviembre-2004
Mensajes: 7
Antigüedad: 19 años, 6 meses
Puntos: 0
Pregunta ayuda con BDD Oracle

tengo los siguientes ejercicios y no se que error tengo
ademas pa variar nuestro profe pasa poca materia y nos hace cagar con las pruebas, ayuda porfa

2.- Realiza un trigger que reste la cantidad comprada (ctd en facturas) del stock (ctd en artículos) cada vez que se ingresa una nueva factura.
3.- Realiza un trigger validador para ingreso/actualización de precio en la tabla facturas de modo tal que el campo pvp de la tabla artículo sea siempre igual que el campo precio de la tabla factura

2-

CREATE OR REPLACE TRIGGER EJE2
AFTER INSERT ON FACTURAS
FOR EACH ROW

DECLARE
tot1 number;
cod number;

BEGIN
tot1 = :new.CTD;
cod = :new.coda;

update articulos set ctd := ctd - tot1 WHERE
coda = cod;
END EJE2;
.
RUN;

3-

CREATE OR REPLACE TRIGGER EJE3
AFTER INSERT OR UPDATE ON FACTURAS
FOR EACH ROW
DECLARE
num int;
BEGIN
num := :new.precio;
IF (num <> (select PVP from aritulos WHERE PVP = num) ) THEN
RAISE_APPLICATION_ERROR(-20000, 'NO existe ese valor ingrese un valor existente');
END IF;

END;
.
RUN;


si alguien tiene alguna idea de como puedo asignar a una variable los datos de un select o como comparar dentro de un trigger 2 tablas seria de mucha ayuda.
Gracias