无法触发更新相关行

时间:2015-08-04 13:06:28

标签: sql triggers sql-update sql-insert

我正在做一个学校项目,我的触发器让我很难过。

及其'目的是更新更新产品的评级字段,但它会更新产品中的所有行。

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)

非常感谢您的帮助

1 个答案:

答案 0 :(得分:0)

您要做的是计算列的average,这是一个数字。每行不会有独特的平均值。因此,所需表格中的Rating列会使用此值进行更新。尝试更改您的更新条件,它应该工作。