Я пытаюсь сделать выбор и обновление в рамках одной локальной процедуры. Идея состоит в том, чтобы получить количество заказанных продуктов из указанного заказа c в представлении (Produktantal), а затем обновить номера запаса (antal) из таблицы «produktlager», используя данные, полученные из представления.
Я получаю следующее сообщение об ошибке Error: ER_BAD_FIELD_ERROR: Unknown column 'Produktantal' in 'field list'
. Я, кажется, не доступен для доступа к колонке в части обновления. Как я могу это сделать?
DROP PROCEDURE IF EXISTS update_stock_status;
DELIMITER ;;
CREATE PROCEDURE update_stock_status(
p_orderid INT
)
BEGIN
SELECT
Produktid,
Orderid,
Produktantal,
Lagerantal,
Hylla
FROM v_products2order_w_products2lager
WHERE Orderid = p_orderid;
UPDATE produkt2lager
SET
antal = antal - Produktantal
WHERE
produktid = Produktid
AND
hylla = Hylla;
END
;;
DELIMITER ;
Вид:
DROP VIEW IF EXISTS v_products2order_w_products2lager;
CREATE VIEW v_products2order_w_products2lager AS
SELECT
p2o.produktid AS "Produktid",
p2o.orderid AS "Orderid",
p2o.antal AS "Produktantal",
p2l.antal AS "Lagerantal",
p2l.hylla AS "Hylla"
FROM
produkt2order AS p2o
LEFT OUTER JOIN produkt2lager AS p2l ON p2o.produktid = p2l.produktid;