作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我很享受 MySQL 的所有功能。我想了解如何使用 MySQL 触发器来更新 MySQL 列的总成本,其中 UNITS * PRICE(当然)等于总成本。
发票表包括 (价格,单位,总成本)
CREATE TRIGGER TRG_TOTAL_COST
AFTER INSERT ON INVOICE
FOR EACH ROW
BEGIN
--1) Get the TOTAL
SELECT TOTAL_COST from INVOICE
--2) Compute total
TOTAL_COST= UNITS *
PRICE;
END;
最佳答案
虽然我不确定这是不是一个很好的数据库设计,但您可以很容易地完成它
CREATE TRIGGER TRG_TOTAL_COST BEFORE INSERT ON INVOICE FOR EACH ROW
SET NEW.TOTAL_COST = NEW.UNITS * NEW.PRICE
但我不明白你为什么要在触发器中执行此操作?您在插入时拥有所需的所有数据,因此您可以直接在插入时处理产品。
或者除非您有充分的理由真正想要存储它,否则为什么不直接忽略可能冗余的列并在您的选择中计算乘积呢?
关于mysql - 触发从单位和价格计算总成本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13215396/
我在模型 mrp.BOM 结构中创建了一个自定义字段,如下所示,用于计算产品的 BOM 总成本:- Field Name:- x_bom_total Field Label:- Total BOM F
我是一名优秀的程序员,十分优秀!