如何使用触发器根据另一个表操作表?

时间:2015-05-14 13:40:34

标签: mysql triggers

我很难弄清楚如何操作依赖于另一个表格的表格。

------Product----------
-- productcode (PK)
-- name
-- price
-- stock

------Orderline----------
-- ordercode (FK, From 'Order' table)
-- productcode (FK)
-- amount

我想要的是触发产品订购时的触发器(位于' Orderline'表中),库存会根据订购的数量自动更改。

现在我还没到那么远

DELIMITER $$
CREATE TRIGGER after_orderProduct_insert 
AFTER INSERT ON Orderline
FOR EACH ROW
BEGIN  
  IF ##
    ##
  END IF; 
END $$

关于如何解决这个问题的任何想法? 提前谢谢!

1 个答案:

答案 0 :(得分:0)

根据金额(订购商品数量)更新库存值。

  DELIMITER $$
    CREATE TRIGGER after_orderProduct_insert 
    AFTER INSERT ON Orderline
    FOR EACH ROW
    BEGIN  
       UPDATE product
        SET stock = stock - NEW.amount
      WHERE productcode = NEW.productcode;
    END $$