我正在做一个学校项目,我的触发器让我很难过。
及其'目的是更新更新产品的评级字段,但它会更新产品中的所有行。
CREATE TRIGGER Update_Rating
ON dbo.Reviews
FOR Insert
as
Update dbo.Products
set Rating=(Select [avarage_rating]=avg(r.Rating)
From dbo.Reviews as r join inserted on r.ItemNumber = inserted.ItemNumber
where r.ItemNumber = Inserted.ItemNumber)
非常感谢您的帮助
答案 0 :(得分:0)
您要做的是计算列的average
,这是一个数字。每行不会有独特的平均值。因此,所需表格中的Rating
列会使用此值进行更新。尝试更改您的更新条件,它应该工作。