发布网友 发布时间:2022-04-22 07:56
共2个回答
热心网友 时间:2022-04-08 09:47
--学生班级表
create table NameClass(
NameClassid int identity(1,1) not null,--学生班级表主键
name nvarchar(100), ---学生名称
class nvarchar(100), --班级名称
)
--班级和学生数量表
create table ClassNum(
ClassNumid int identity(1,1) not null,--班级和学生数量表主键
class nvarchar(100), --班级名称
number int, --学生数量
)
---两张做初始数据
insert into NameClass(name,class) values('张山','一班')
insert into NameClass(name,class) values('李四','一班')
insert into NameClass(name,class) values('王五','一班')
insert into NameClass(name,class) values('赵六','一班')
insert into NameClass(name,class) values('钱七','一班')
insert into NameClass(name,class) values('孙八','一班')
insert into NameClass(name,class) values('张八戒','二班')
insert into NameClass(name,class) values('李悟能','二班')
insert into NameClass(name,class) values('王悟空','二班')
insert into NameClass(name,class) values('赵姗姗','二班')
insert into NameClass(name,class) values('钱夺宝','二班')
insert into NameClass(name,class) values('孙上进','二班')
insert into ClassNum(class,number) values('一班',6)
insert into ClassNum(class,number) values('二班',6)
--查看刚才初始化的数据
select * from NameClass
select * from ClassNum
--创建触发器:学生班级表中对应的班级发生变化,班级和学生数量表中对应的班级数量随之改变
if exists(select * from dbo.sysobjects where id = object_id(N'tgr_NameClass_update') and OBJECTPROPERTY(id, N'IsTrigger') = 1)
drop trigger tgr_NameClass_update
go
create trigger tgr_NameClass_update
on NameClass
after update
as
if update(class)
begin
declare
@num int,
@classname nvarchar(100)
declare NameClass_Cursor cursor for select count(class),class from NameClass group by class
open NameClass_Cursor
fetch next from NameClass_Cursor into @num,@classname
while @@fetch_status=0
begin
update ClassNum set number =@num where class=@classname
print @num
print @classname
fetch next from NameClass_Cursor into @num,@classname
end
close NameClass_Cursor
deallocate NameClass_Cursor
end
--更新数据
update NameClass set class='二班' where NameClassid='3'
--检查学生班级表数据
select class,COUNT(class) from NameClass group by class
--班级和学生数量表
select * from ClassNum
热心网友 时间:2022-04-08 11:05
C表可以把人数字段去掉
用到的时候统计就可以了追问这是作业要求,要的是语句