Saludos!
Tengo una Base de Datos de una Farmacia, las Tablas Consumo e Inventario:
Create table "CONSUMO" (
"CONS_id_solicitud" Number NOT NULL ,
"PAC_id_paciente" Number NOT NULL ,
"MEDI_id_medicamento" Number NOT NULL ,
"CONS_fecha" Date NOT NULL ,
"CONS_cantidad" Number NOT NULL ,
"CONS_status" Char (20) NOT NULL ,
"CONS_descuento" Double precision NOT NULL ,
primary key ("CONS_id_solicitud","PAC_id_paciente","MEDI_id_me dicamento")
)
/
Create table "INVENTARIO" (
"INVE_id_registro" Number NOT NULL ,
"MEDI_id_medicamento" Number NOT NULL ,
"INVE_max" Number NOT NULL ,
"INVE_min" Number NOT NULL ,
"INVE_existencia" Number NOT NULL ,
primary key ("INVE_id_registro","MEDI_id_medicamento")
)
/
No son todas pero sobre estas estoy trabajando por el momento
Hice un trigger en el cual cuando se hace un insert en la tabla consumo se actualiza la tabla inventario, especificamente el campo INVE_existencia debe reducirse en la cantidad que fue ingresada en la tabla consumo. El trigger es el siguiente:
create or replace trigger desc_consumo
after insert on CONSUMO
for each row
begin
UPDATE INVENTARIO SET existencia = existencia - :NEW.CONS_cantidad WHERE MEDI_id_medicamento = :NEW.MEDI_id_medicamento;
end desc_consumo;
/
Cuando creo el trigger me salen los siguientes errores:
PLS-00049: bad bind variable 'NEW.CONS_cantidad'
PLS-00049: bad bind variable 'NEW.MEDI_id_medicamento'
Soy nuevo en el mundo oracle y apenas estaba iniciando en esto de los triggers, pero no he tenido exito.
Les agradezco de antemano cualquier ayuda que me pudieran proporcionar, si ya les ha pasado me podrian decir como se soluciona :)
Espero haberme explicado, Saludos a todos!