【发布时间】:2014-09-20 15:14:55
【问题描述】:
请看下图
我需要在Ongoing_Portfolio 中编写一个触发器,它会在Insert 操作后自动更新Ongoing_Fees。
Portfolio.Other_Fee 是一个百分比,而Ongoing_Fees.Other_Fee = Ongoing_Portfolio.Cash_Value * Portfolio.Other_Fee。
请注意所有 3 个表格中的 idPortfolio。这里发生的是在用户将数据插入Ongoing_Portfolio 之后,它使用idPortfolio 扫描相关的Portfolio。然后它从相关投资组合中抓取Other_Fee 并将数据插入到 Ongoing_Fees 中。
下面是我写的Trigger,但是我写不了插入方法来做Other_Fee。
CREATE TRIGGER `Ongoing_Portfolio_AINS` AFTER INSERT ON `Ongoing_Portfolio` FOR EACH ROW
INSERT INTO Ongoing_Fees (idPortfolio,Other_Fee)
VALUES
(New.idPortfolio, )
我怎样才能完成这个触发器?
示例:
Portfolio.idPortfolio = 1
Portfolio.Other_Fee = 10%
现在我将数据插入Ongoing_Portfolio
Ongoing_Portfolio.idPortfolio = 1
Ongoing_Portfolio.Cash_Value = 1000
现在,trigger 已经触发,所以 Ongoing_Fees 中的数据应该是
Ongoing_Fees.idPortfolio = 1
Ongoing_Fees.Other_Fee = 100
【问题讨论】:
-
你能举个例子说明在将一个例子插入到 progress_portfolio 之后应该发生什么效果
-
请考虑确切的数据类型
DECIMAL的费用,而不是像DOUBLE这样的近似数据类型。 -
@BrianDeMilia:完成。请查看已编辑的问题
标签: mysql sql database triggers insert