SQL2000 触发器问题

来源:百度知道 编辑:UC知道 时间:2024/06/14 00:57:07
班(班号,专业名,系号,入学年份,人数)
学生(学号,姓名,年龄,班号)
请各位帮忙写一个触发器,对学生表的插入或删除操作进行约束,即当插入或删除一个学生信息时,相应的班级人数加1或减1

这样写,支持批量插入和删除

create trigger tr_学生 on 学生
after insert,delete
as
begin
update a
set 人数=a.人数+b.con
from 班 a
inner join
(select 班号,count(*)con from inserted i group by 班号)b on a.班号=b.班号

update a
set 人数=a.人数-b.con
from 班 a
inner join
(select 班号,count(*)con from deleted d group by 班号)b on a.班号=b.班号
end