SQL触发器 如何写当学生信息表增加或者删除时,班级人数随着变化 60

如:班级信息表(班级编号,班级名称,班级人数)学生信息表(学号,姓名,所属班级)如何让班级表的A班级人数等于学生表的所属A班级的总数,当学生表记录增加或删除,班级表里的班... 如:班级信息表(班级编号,班级名称,班级人数)
学生信息表(学号,姓名,所属班级)
如何让班级表的A班级人数等于学生表的所属A班级的总数,当学生表记录增加或删除,班级表里的班级人数也随着增加或减少。
求一个 SQL触发器的具体写法,麻烦注释说明一下具体的语句的作用!谢谢了!
麻烦高手们亲自写一个,,不要复制其他的给参考,看过一些不是很明白。我想弄个自己的例子,这样能理解透彻些
展开
 我来答
sunkunjava
推荐于2018-01-30 · TA获得超过269个赞
知道小有建树答主
回答量:172
采纳率:83%
帮助的人:53.6万
展开全部
不知道你是哪种数据库,现以主流数据库Oracle为例
--创建或替换一个触发器,在表T_STU增加一条记录后触发;
CREATE OR REPLACE TRIGGER "TRI_INS_ST" AFTER
INSERT ON "T_STU" FOR EACH ROW
begin
--插入后将其他表数据增加,新增的数据行用:new取值;
UPDATE T_STU_RS SET RS=RS+1 WHERE BJID=:new.BJID;--此处模拟 将学生所在的班级人数加一
end;
/
--创建或替换一个触发器,在表T_STU的任何一行记录删除后触发;
CREATE OR REPLACE TRIGGER "TRIN_DEL_ST" AFTER
DELETE ON "T_STU" FOR EACH ROW
begin
--删除后将其他表数据减少,删除前的数据行用:old取值;
UPDATE T_STU_RS SET RS=RS-1 WHERE BJID=:old.BJID;--此处模拟 将学生所在的班级人数减一
end;
/
七鑫易维信息技术
2024-09-02 广告
Play Video 七鑫易维是致力于机器视觉和人工智能领域的高新科技企业,迄今已专注眼球追踪技术的研发、创新与应用超过14年,拥有完全自主知识产权,全球专利总量655余项。 作为眼球追踪技术领域的全球知名品牌,七鑫易维的产品体系覆盖眼动分... 点击进入详情页
本回答由七鑫易维信息技术提供
匿名用户
2015-08-02
展开全部
搞触发器这么麻烦,你还不如给学生添加班级列,然后做一个视图在需要班级人数的时候挂一个sum就好了
追问
目的是学习触发器啊
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式