如何通过参数分配要更新的列?

368yc8dk  于 2021-06-15  发布在  Mysql
关注(0)|答案(0)|浏览(231)

我想更新库存表,从一个运动服,尺寸从t0到txxl,每一个尺寸都是基础数据中的一列,所以要更新每一个尺寸的库存,我发送尺寸,它的购买量和可用库存。我试图创建一个触发器,但它不起作用,所以我把它留在一个过程中,直到我添加了这个句子。

DROP PROCEDURE IF EXISTS `ActualizarInventario`;
/*nombre=name of Team for example=Barcelona, Real Madrid, Lakers, Bulls etc.
cant=Quantity sold
talla=size.
stock=quantities available.
The columns are in VARCHAR*/

CREATE DEFINER = `root`@`localhost` PROCEDURE `ActualizarInventario`(IN 
nombre VARCHAR(40),IN cant VARCHAR(15),IN talla VARCHAR(15),IN stock 
VARCHAR(15))
BEGIN
INSERT INTO Ventas_Uniforme VALUES(null,nombre,talla,cant,stock,NOW());

# This UPDATE it does not work

    UPDATE inventario AS inv SET talla =(CAST(stock AS INT)-CAST(cant AS 
INT))
WHERE inv.Nombre_Agregar=nombre;
END;

# This is the trigger that I try to make, but gave the same error.

UPDATE inventario AS inv SET new.Talla =(CAST(new.Stock AS INT)- 
CAST(new.Cantidad_Venta AS INT)) WHERE 
inv.Nombre_Agregar=new.Nombre_Uniforme

当我执行它的时候,它把我扔了。
过程执行失败1054“字段列表”中的未知列“talla”

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题