我有两张table:
[1] 捐赠-带金额和宠物id字段
[2] 宠物-带id和捐款总额字段
我正在尝试创建一个触发器,每当一个新行被插入到捐赠表中时,它都会更新total generations字段。我试过这个:
create trigger update_donations
on sponserships
for insert
as
update dbo.Pets
set tot_donations = (
select new_val = inserted.amount + pets.tot_donations
from inserted
where inserted.[Pet-ID] = pets.[Animal-ID]
)
当然,它会更改所有记录,而我只想更改捐款表中更改的记录。
1条答案
按热度按时间wd2eg0qa1#
存储这种类型的派生信息通常不是一个好的做法—您可以有一个动态计算它的视图,而不是一个使它保持最新的触发器。另外请注意,如果你走那条路,你还需要一个
delete
和一个update
触发。。。也就是说,您可以在
insert
用于更新pets表中相关记录的触发器: