从另一个表创建触发器计算总计 = 数量 * 价格

Posted

技术标签:

【中文标题】从另一个表创建触发器计算总计 = 数量 * 价格【英文标题】:Create trigger calculate total = quantity * price from another table 【发布时间】:2020-03-29 21:41:13 【问题描述】:

我有两张桌子,PRODUCT_tblTRANSACTION_tbl

PRODUCT_tbl
╔══════╦═══════════════╦════════════════╗
║ ID   ║ NAME          ║ PRICE          ║
╠══════╬═══════════════╬════════════════╣
║ 53   ║ TEA           ║ 1000           ║ 
║ 29   ║ MILK          ║ 3000           ║ 

TRANSACTION_tbl
╔══════╦═══════════════╦════════════════╦════════════════╗
║ ID   ║ PRODUCT_ID    ║ QUANTITY       ║ TOTAL          ║
╠══════╬═══════════════╬════════════════╬════════════════╣

在插入TRANSACTION_tbl 后,如何创建可以将基于PRICEPRODUCT_tbl 表与QUANTITY 相乘的触发器 示例: INSERT INTO TRANSACTION_tbl (PRODUCT_ID, QUANTITY) VALUES (53,5)

╔══════╦═══════════════╦════════════════╦════════════════╗
║ ID   ║ PRODUCT_ID    ║ QUANTITY       ║ TOTAL          ║
╠══════╬═══════════════╬════════════════╬════════════════╣
║ 1    ║ 53            ║ 5              ║ 5000           ║

【问题讨论】:

提示:您的触发器以 CREATE TRIGGER 开头。 【参考方案1】:

一般来说,我建议不要存储派生信息,即可以从其他可用值计算的数据。

例如,您可以为此使用视图:

create view v_ transaction as 
select t.id, t.product_id, t.quantity, p.price * t.quantity total
from transaction t
inner join product p on p.id = t.product_id

【讨论】:

但我想知道如何创建触发器而不是创建视图,很抱歉我编辑了我的问题,因为 TRANSACTION 是 sql 中的一种方法..

以上是关于从另一个表创建触发器计算总计 = 数量 * 价格的主要内容,如果未能解决你的问题,请参考以下文章

触发计算小计

插入触发器 SQL。插入新表后如何从另一个表中检索值

如何创建从另一列计算的列?

SQL对“图书”表创建一个分组总计查询,统计不同出版社出版的图书数量,显示“?

计算所有项目总计到小计 Jquery

折扣后如果总计为 0,则需要根据自定义价格字段计算税款并添加到购物车页面的总计中