从另一个表创建触发器计算总计 = 数量 * 价格
Posted
技术标签:
【中文标题】从另一个表创建触发器计算总计 = 数量 * 价格【英文标题】:Create trigger calculate total = quantity * price from another table 【发布时间】:2020-03-29 21:41:13 【问题描述】:我有两张桌子,PRODUCT_tbl
和 TRANSACTION_tbl
PRODUCT_tbl
╔══════╦═══════════════╦════════════════╗
║ ID ║ NAME ║ PRICE ║
╠══════╬═══════════════╬════════════════╣
║ 53 ║ TEA ║ 1000 ║
║ 29 ║ MILK ║ 3000 ║
TRANSACTION_tbl
╔══════╦═══════════════╦════════════════╦════════════════╗
║ ID ║ PRODUCT_ID ║ QUANTITY ║ TOTAL ║
╠══════╬═══════════════╬════════════════╬════════════════╣
在插入TRANSACTION_tbl
后,如何创建可以将基于PRICE
的PRODUCT_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 中的一种方法..以上是关于从另一个表创建触发器计算总计 = 数量 * 价格的主要内容,如果未能解决你的问题,请参考以下文章