У меня есть таблица product
и таблица sales
.Внутри product
у меня есть (product_id, p_desc, qty_stock)
, а в таблице sales
у меня есть (sale_id, producto_id, sale_p_qty)
, где sale_p_qty
- это количество, которое покупатель покупает у определенного продукта.
Вопрос заключается в том, как создать триггер для обновления значения столбца qty_stock
в таблице product
(это значение будет запасом)?Я не могу сделать это.Я могу сделать триггер, который уменьшается, но только одно значение за раз.Правильнее было бы получить sale_p_qty
таблицы sales
и уменьшить на qty_stock
, но я не могу этого сделать.Не могли бы вы мне помочь?
Моя попытка на этом остановилась (я не делал процедуру, я не знаю, нужно ли вам в этом случае):
CREATE OR REPLACE TRIGGER trg_stock_ai AFTER INSERT OR UPDATE ON sale
FOR EACH ROW
declare
new_stock NUMBER (4);
--SELECT sale_p_qty INTO new_stock FROM sale
--SET new_stock = (SELECT sale_p_qty FROM sale);
BEGIN
SELECT sale_p_qty INTO new_stock FROM sale;
UPDATE product
SET qty_stock = qty_stock - new_stock
WHERE product.product_id =: NEW.product_id;
END;