Как назначить колонку для обновления по параметру? - PullRequest
0 голосов
/ 05 января 2019

Я хочу обновить инвентарную таблицу, из спортивной формы, размеры идут от t0 до tXXXL, каждый из размеров - это столбец в базовых данных, поэтому для обновления запаса каждого размера я отправляю размер , его количество покупки и наличие на складе. Я пытался создать триггер, но он не работал, поэтому я оставил его в процедуре, которая работала, пока я не добавил это предложение.

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' в 'списке полей'

...