SQL 触发器 删除学生记录。。。 10
为学生表建立delete触发器,在删除学生记录时自动更新“班级”表中相应班级的学生人数。当从某个班级删除一名学生,即从表student中删除一行数据时,需要更改该学生所在...
为学生表建立delete 触发器,在删除学生记录时自动更新“班级”表中相应班级的学生人数。
当从某个班级删除一名学生,即从表 student 中删除一行数据时,需要更改该学生所在班级的学生总人数。
对student_insert的代码稍加修改就可以得到能自动完成这个工作的删除触发器。 展开
当从某个班级删除一名学生,即从表 student 中删除一行数据时,需要更改该学生所在班级的学生总人数。
对student_insert的代码稍加修改就可以得到能自动完成这个工作的删除触发器。 展开
3个回答
展开全部
declare @Qty int
if exists(select *From deleted)
begin
select @Qty=count(*) from student
update Class set Qty=@Qty where Classid in (Select Classid from deleted)
end
if exists(select *From deleted)
begin
select @Qty=count(*) from student
update Class set Qty=@Qty where Classid in (Select Classid from deleted)
end
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
七鑫易维信息技术
2024-09-02 广告
2024-09-02 广告
Play Video 七鑫易维是致力于机器视觉和人工智能领域的高新科技企业,迄今已专注眼球追踪技术的研发、创新与应用超过14年,拥有完全自主知识产权,全球专利总量655余项。 作为眼球追踪技术领域的全球知名品牌,七鑫易维的产品体系覆盖眼动分...
点击进入详情页
本回答由七鑫易维信息技术提供
展开全部
最好是把表名和表的结构都发一下。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
哪个环境?SQL Servere 还是 Oracle ?
追问
SQL Servere 2005
追答
CREATE TRIGGER TEST ON student
FOR DELETE as
update 班级 set 人数=(select COUNT(*) from Student where 班级=
(select 班级 from deleted))
where 班级=(select 班级 from deleted)
go
由于不知道表结构,只能按上述语句写了,我写语句时假定数据结构是:student 表中包含“班级”的列,“班级”表中包含班级和人数列。如果不是这样,告诉我数据结构。
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询