create tr_table2
on table2
for insert,delete,update
asupdate a
set 总分数=a.总分数+y.分数
from table1 a,(
select 编号,sum(分数) as 分数
from (
select 编号,分数 from inserted
union all
select 编号,-分数 from deleted
) as x
) as y
where a.编号=y.编号go
on table2
for insert,delete,update
asupdate a
set 总分数=a.总分数+y.分数
from table1 a,(
select 编号,sum(分数) as 分数
from (
select 编号,分数 from inserted
union all
select 编号,-分数 from deleted
) as x
) as y
where a.编号=y.编号go
create trigger base_ins
on table2
for insert,update
as
update table1 set table1.总学分=table1.总学分+table2.学分
说table2不对。
table2改为insert
from table1 a,inserted b
create trigger base_ins
on table2
for insert,update
as
update table1 set table1.总学分=table1.总学分+a.学分
from table1 , table2 a(或者 from table1 ,inserted a)
但是结果好像不是你想要的
for insert,delete,update
as
update table1 set 总分数=总分数-deleted.分数 from deleted where deleted.编号=table1.编号
update table1 set 总分数=总分数+inserted.分数 from inserted where inserted.编号=table1.编号