SQL 触发器 删除学生记录。。。 10

为学生表建立delete触发器,在删除学生记录时自动更新“班级”表中相应班级的学生人数。当从某个班级删除一名学生,即从表student中删除一行数据时,需要更改该学生所在... 为学生表建立delete 触发器,在删除学生记录时自动更新“班级”表中相应班级的学生人数。
当从某个班级删除一名学生,即从表 student 中删除一行数据时,需要更改该学生所在班级的学生总人数。
对student_insert的代码稍加修改就可以得到能自动完成这个工作的删除触发器。
展开
 我来答
hxb8019
2014-12-19
知道答主
回答量:9
采纳率:0%
帮助的人:1.2万
展开全部
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
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
七鑫易维信息技术
2024-09-02 广告
Play Video 七鑫易维是致力于机器视觉和人工智能领域的高新科技企业,迄今已专注眼球追踪技术的研发、创新与应用超过14年,拥有完全自主知识产权,全球专利总量655余项。 作为眼球追踪技术领域的全球知名品牌,七鑫易维的产品体系覆盖眼动分... 点击进入详情页
本回答由七鑫易维信息技术提供
chinawflqw
2014-12-11 · TA获得超过170个赞
知道小有建树答主
回答量:477
采纳率:50%
帮助的人:362万
展开全部
最好是把表名和表的结构都发一下。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友2dca20d
2014-12-11 · TA获得超过4036个赞
知道大有可为答主
回答量:2638
采纳率:77%
帮助的人:1037万
展开全部
哪个环境?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 表中包含“班级”的列,“班级”表中包含班级和人数列。如果不是这样,告诉我数据结构。
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 2条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式