我是sql的新手,我无法弄清楚这个触发器。
第一个表是Order_Details,它有三行,
O_Id
F_Id
Price(Int)
第二个表是Payment_Details它有两行,
O_Id
Total_Price(Int)
下订单时,Order_Details 会多行使用不同食物 (F_Id) 但订单号相同 (O_Id)。因为一个订单可以有多个食品
所以我需要一个触发器来计算单个订单中所有食品价格 (Total_Price) 的总和。
这有什么可能的触发因素吗?
如果这些确实是唯一的列,您最好将其创建为视图。
CREATE TABLE Order_Details( O_Id int, F_Id int, Price Int);
CREATE VIEW Payment_Details AS SELECT O_Id, SUM(Price) AS Total_Price FROM Order_Details GROUP BY O_Id;
insert into Order_Details values (1,1,20),(1,2,15);
select * from Payment_Details;
O_Id |Total_Price ---: |----------: 1 | 35
db<>在这里小提琴