请看下面的图表
我需要在Ongoing_Portfolio
中编写一个触发器,它会在Ongoing_Fees
操作后自动更新Insert
。
Portfolio.Other_Fee
是一个百分比,而Ongoing_Fees.Other_Fee = Ongoing_Portfolio.Cash_Value * Portfolio.Other_Fee
。
请注意所有3个表格中的idPortfolio
。这里发生的是用户将数据插入Ongoing_Portfolio
后,它会使用Portfolio
扫描相关的idPortfolio
。然后它从相关的投资组合中抓取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
答案 0 :(得分:3)
这是你需要的吗?
INSERT INTO Ongoing_Fees (idPortfolio,Other_Fee)
select New.idPortfolio, p.other_fee
from Portfolio p
where p.idPortfolio = New.idPortfolio;