如何在mysql中创建一个更新2个表的触发器

luaexgnf  于 2021-06-21  发布在  Mysql
关注(0)|答案(1)|浏览(276)

我有两个表(在mysql中):
销售(销售标识、客户标识、销售日期、折扣、库存商品标识、卖方标识、数量)
记录示例:

a0018 | m9795 | 2017-10-2020 | 5    | MarFT | 0 | B-77028

库存(库存商品标识、供应商名称、供应商电子邮件、供应商电话、商品类别商品名称、批发价格、加价价格、库存商品)
记录示例:

B-77001 |BSN |direct@bsn.com | 1877333665 | Gainers | True Mass | 2.6kg | 33.75 |44.99 | 500

我需要创建一个触发器,将一个新记录添加到sales表中(记录一个新的sale,它将自动递增)。同时,我希望stock表更新“items\u in \u stock”值(当stock\u item\u id匹配时,该值应减少刚刚售出的数量)?我希望这有道理。我很感激任何帮助。谢谢。

eeq64g8w

eeq64g8w1#

使用此选项:

DELIMITER $$

CREATE
    TRIGGER `OnSalesInsert` BEFORE INSERT ON `Sales` 
    FOR EACH ROW BEGIN

       UPDATE Stock 
       SET items_in_stock = items_in_stock - new.quantity 
       WHERE stock_item_id = new.stock_item_id; 

    END;
$$

DELIMITER ;

相关问题