“插入后......”触发语法错误

时间:2013-10-28 04:28:13

标签: mysql sql triggers mysql-workbench

create trigger nuevaVenta
after insert on Compra
if new.idProducto = Productos_Farmaceuticos.idProducto
        set Productos_Farmaceuticos.inventario = Productos_Farmaceuticos.invetario - new.cantProducto;

我想在新的销售完成后更新库存件数量,这是我的表格:

Paciente: idPaciente, nombre
Compra: idProducto, idPaciente, fecha, cantProduct
Productos_Farmaceuticos: idProducto, nombreProduct, precioProduct, puntoReorden, inventario

这是一个没有语法错误的更新:

delimiter //
create trigger nuevaVenta
after insert on medapp.Compra
for each row
begin
    if new.idProducto = Productos_Farmaceuticos.idProducto then
        update medapp.Productos_Farmaceuticos
        set Productos_Farmaceuticos.inventario = 
            Productos_Farmaceuticos.invetario - new.cantProduct;
    end if;
end; //
delimiter ;

但是当我尝试在Compra中插入内容时,它现在向我显示“错误代码1109:字段列表中的未知表'Productos_Farmaceuticos'

1 个答案:

答案 0 :(得分:0)

我认为这一行存在错误:

end; //

您已将分隔符更改为“//”。因此,这条线应该简单地阅读:

end //