触发器 实现在一张表更新的同时,将另一张表中外键匹配的项的值加一

create table tbUserTow 
(
Id int primary key,
score int default 0,
)
create table tbScoreCount
(
IdSum int foreign key references tbUserTow(Id),----外键约束
scoreCountId int not null,
ScoreSum int default 0,
primary key(IdSum,scoreCountId)  ,----联合主键

)
insert into tbScoreCount values(1,1,0)
insert into tbScoreCount values(2,2,0)
insert into tbScoreCount values(3,3,0)

create trigger updateTbuserTowAfter   -----创建触发器
on tbUserTow    -----触发器所建的表
AFTER update         -----触发器条件 After每个触发动作(UPDATE,DELETE,INSERT)包含多个触发器
as
begin
           update tbScoreCount set ScoreSum=ScoreSum+1 where IdSum in (select  Id from inserted)   ----(where IdSum =(select id top 1 from inserted)参见)
end

以下为测试数据

update tbUserTow set score=1 where score='0'
update tbUserTow set score=0 where score='1'
update tbUserTow set score=2 where id='1'

原文地址:https://www.cnblogs.com/zhcnblog/p/2626915.html