Ошибка баланса моего триггера SQL - PullRequest
0 голосов
/ 02 января 2012

я получил 4 таблицы, которые вызывают addproduct, sellproduct, reportfoundproduct, productbalance

Я хочу создать триггер для обновления балансового количества запаса в таблице productbalance после вставки данных в эти три таблицы (addproduct, sellproduct,reportfoundproduct)

ниже мой триггер в таблице sellproduct:

CREATE
DEFINER=`root`@`localhost`
TRIGGER `user`.`bad1`
AFTER INSERT ON `user`.`sellproduct`
FOR EACH ROW
BEGIN

UPDATE productbalance 
SET Quantity_OnHand =(Quantity_OnHand- (select (sell_Quantity) from (select * from sellproduct) as temp3)) 
WHERE Product_ID= productbalance.Product_ID ; 

 END$$

его баланс количества средств = добавить продукт - продукт продажи

, но когда триггер исключен, его изменение может изменитьсявся строка данных - продукт продаж ...

как решить, если я просто хочу изменить идентификатор продукта, который изменился в значении?

просьба помочь ... спасибо

1 Ответ

0 голосов
/ 02 января 2012

Вам необходимо использовать НОВУЮ таблицу псевдо, чтобы использовать только информацию в новой строке

CREATE DEFINER=`root`@`localhost` TRIGGER `user`.`bad1`
AFTER INSERT ON `user`.`sellproduct` FOR EACH ROW
BEGIN

UPDATE productbalance 
SET Quantity_OnHand = Quantity_OnHand - NEW.sell_Quantity
WHERE Product_ID = NEW.Product_ID ; 

END$$
...