创建触发器当新增、修改或删除学生时自动修改相应班级的学生人数; 20

以下是我建立的数据库。希望有哪位计算机大神能帮我解决这个问题!!谢谢了!!老师要求我们用这种格式:!!!!格式:CreateTriggertruStudent----触发... 以下是我建立的数据库。希望有哪位计算机大神能帮我解决这个问题!!谢谢了!!
老师要求我们用这种格式:!!!!

格式:
Create Trigger truStudent ----触发器名字
On Student ------在Student表中创建触发器
for Update | delete | insert ------为什么事件触发
As -------事件触发后锁钥做的事情

实例:
create trigger zengjia
on sc
for insert
as
update course set num=num+1
where cno in {select cno from sc inserted}

解释:
sc表中插入记录时 执行触发器
当插入到sc表的记录的课程号和course表的课程号相等时,课程数量加1操作

建立学生表
create table Student
(
Sno char(5) primary key,
Sname char(6) not null,
Ssex char(2) check (Ssex in('男','女')),
Sage int check (Sage>=15 and Sage<=30),
Sdept char(10) ,
Sclass char(10) ,
Syuan char(10)

);

建立课程表
create table Course
(
Cno int primary key,
Cname char(6) not null,
Cteach char(6),
Crenshu char(10),
);

建立成绩表
create table Grade
(
Cno int not null,
Grade int check (Grade>=0 and Grade<=100),
Bukao char(10),
Term char(10) not null,
foreign key (Cno) references Course(Cno)
);

建立教师表
create table Teacher
(
Tno int primary key,
Tname char(6) not null,
Tclass char(10),
Tdept char(10)
);

建立部门表
create table Apartment
(
Ano int not null,
Aname char(10) not null
)
D1学生表={学号+姓名+性别+年龄}

D2成绩表={成绩+课程号+是否补考+学期}

D3课程表={课程号+课程名+授课老师+人数}

D4 教师表=(教师号+教师姓名+教授课程+所在专业)

D5 部门表=(部门号+部门名)

明天就要上交了,谁能帮我写一下啊!太感谢了!!
展开
 我来答
johnny_2099
2014-07-08 · 超过42用户采纳过TA的回答
知道小有建树答主
回答量:84
采纳率:0%
帮助的人:53.7万
展开全部
按照你的意思 似乎只需要根据成绩表的变化来修改课程表中的人数,可以这样写:
create trigger tri_adjust_renshu
on grade
for insert,delete
as
begin
update course set renshu=renshu+1
where cno in {select cno from inserted} --删除时 inserted是空集,插入时非空
update course set renshu=renshu-1
where cno in {select cno from deleted} --插入时 inserted是空集,删除时非空
end
go
超千沙橙05
2014-07-07 · 超过22用户采纳过TA的回答
知道答主
回答量:153
采纳率:0%
帮助的人:34.6万
展开全部
你写的是对的
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式