sql >> Base de Datos >  >> RDS >> Oracle

Error de SQL:es posible que el activador o la función no lo vean

Un disparador de nivel de instrucción (es decir, sin FOR EACH ROW cláusula) actualizará siempre todos registros en la tabla de pagos, no creo que sea necesario. Para una actualización solo de productos relacionados, use este disparador:

create trigger PROD_TOTAL
after insert ON Products
for each row
begin
    update Payments
    set ProdTotal = :new.ProdPrice * :new.ProdQuantity
    WHERE PayProdId = :new.ProdId ;
end;