求一触发器:A表新增或删除记录时,B表的某一字段将相应的增加或减少
请结合以下内容,给出一触发器
学生表:Student
学生编号:Sid 学生名字:Sname 班级编号:Cid
班级表:Class
班级编号:Cid 班级名称:Cname 班级总人数:Total
当往Student表中添加或删除学生时,
班级表Class中的字段Total将相应的增加或减少
问题点数:20、回复次数:4Top
1 楼tntzbzc(华裔大魔王—抗日要从娃娃抓起)回复于 2006-03-17 10:39:39 得分 20
CREATE TRIGGER T_FR ON [dbo].[Student]
instead of INSERT --FOR UPDATE
AS
declare @Cid int
select @Cid=Cid from inserted
update Class set Total=Total+1 where Cid=@Cid
insert into Student(Sid ,Sname,Cid)
select Sid ,Sname,Cid from insertedTop
2 楼tntzbzc(华裔大魔王—抗日要从娃娃抓起)回复于 2006-03-17 10:40:25 得分 0
删除学生
同理Top
3 楼comszsoft(星星点灯)回复于 2006-03-17 10:43:26 得分 0
Insert:
Create Trigger tri_insert On Student
for Insert as
Declare @cid int
Select @cid=Cid From Inserted
Update [Class] Set [Total]=[Total]+1 Where Cid=@cid
Go
Delete:
Create Trigger tri_insert On Student
for Delete as
Declare @cid int
Select @cid=Cid From Deleted
Update [Class] Set [Total]=[Total]-1 Where Cid=@cid
Go
Top
4 楼hqdreamer(了无痕)回复于 2006-03-17 11:12:24 得分 0
完蛋了
给华裔大魔王 加分后
不小心结帖
星星点灯 还没给分
星星 下次 有问题找你吧,顺便把这次的分算上
好了, 谢谢两位大侠
Top




