课程设计说明书3(5)
while @@FETCH_STATUS=0 begin
print @sno+' '+@sname+' '+cast(@savg as char(6)) fetch next from st_cursor into @sno,@sname,@savg end
close st_cursor deallocate st_cursor GO
(2).功能:根据成绩评定学生等级 (主要完成人:李 肖 )
实现代码:
USE 学生选课管理
alter table 选课信息表 add 等级 char(2) go
declare s_cursor CURSOR FOR
SELECT 选课信息表.考试成绩 from 选课信息表 where 选课信息表.考试成绩 IS NOT NULL declare @fs int,@dj char(2) open s_cursor
fetch next from s_cursor into @fs while @@FETCH_STATUS=0 begin
set @dj=case
when @fs>=90 then 'A' when @fs>=80 then 'B' when @fs>=70 then 'C' when @fs>=60 then 'D' when @fs<60 then 'E' end
update 选课信息表 set 等级=@dj where current of s_cursor
fetch next from s_cursor into @fs end
close st_cursor deallocate st_cursor GO
select * from 选课信息表 order by 学号 go
alter table 选课信息表 drop column 等级 GO
5.5主要应用(存储过程)
(1).功能:按学号查询并输出某学生所选课程的成绩总和(主要完成人:李 肖 ) 实现代码:
USE 学生选课管理 GO
12
IF EXISTS(SELECT * FROM sysobjects WHERE name='sum' and type='P') drop procedure sum GO
create proc sum ( @s_no char(10),
@s_name char(10) output, @s_sum float output )as
select @s_name=学生表.姓名,@s_sum=SUM(选课信息表.考试成绩) from 选课信息表,学生表
where 学生表.学号=选课信息表.学号 group by 学生表.学号,学生表.姓名 having 学生表.学号=@s_no go
USE 学生选课管理
IF EXISTS(SELECT * FROM sysobjects WHERE name='sum' and type='P') begin
DECLARE @st_name char(10) DECLARE @st_sum float
EXEC sum 's0003',@st_name output,@st_sum output select '姓名'=@st_name,'总分'=@st_sum end GO
(2)功能:通过存储过程实现对学生成绩的评级 (主要完成人:胡上彪 )
实现代码:
USE 学生选课管理 GO
IF EXISTS(SELECT * FROM sysobjects WHERE name='stud_degree' and type='P') drop procedure stud_degree GO
create proc stud_degree(@学号 char(10)='s0003',@课程号 char(10)='c0001',@成绩等级 char(1) output)as begin
select @成绩等级= case
when 考试成绩>=90 then 'A' when 考试成绩>=80 then 'B' when 考试成绩>=70 then 'C' when 考试成绩>=60 then 'D' when 考试成绩<60 then 'E' end
from 选课信息表
where 学号=@学号 and 课程编号=@课程号 end
13
go
5.6主要应用(触发器) (1)功能:通过触发器实现未选课的学生不能从学生实体中删除(主要完成人:胡上彪 )
实现代码:
USE 学生选课管理 GO
IF EXISTS(SELECT * FROM sysobjects WHERE name='SC_studentdel' and type='TR') drop trigger SC_studentdel GO
create trigger SC_studentdel on 学生表 instead of delete as begin
declare @temp char(10)
select @temp=学号 from deleted
if (select count(选课信息表.学号) from 选课信息表 where 选课信息表.学号=@temp)=0 print'未选课的学生不能从学生实体中删除' end go
USE 学生选课管理
IF EXISTS(SELECT * FROM sysobjects WHERE name='SC_studentdel' and type='TR') delete from 学生表 where 学号= 's0012' GO
(2).功能:数据库中各表一经实现不可更改 (主要完成人:李 肖 )
实现代码:
USE 学生选课管理 GO
create trigger safe
on DATABASE AFTER DROP_TABLE,ALTER_TABLE,CREATE_TABLE as begin
RAISERROR('不能修改表结构',16,2) ROLLBACK end go
USE 学生选课管理
ALTER TABLE 学生表 ADD 民族 char(5) GO
5.7主要应用(事务和索引) (主要完成人:胡上彪 ) 实现代码:
USE 学生选课管理 go
begin tran mytran
14
insert into 学生表
values ('s0013','张春华','女','19900227','20080901','化学','2班','化工学院') save tran mytran insert into 学生表
values ('s0014','祝融','女','19920807','20080901','化学','1班','化工学院') ROLLBACK TRANSACTION mytran COMMIT TRANSACTION GO
SELECT * FROM 学生表 Go
USE 学生选课管理
IF EXISTS(SELECT name FROM sysobjects WHERE name='IDX_tno') drop INDEX 教师表.IDX_tno GO
CREATE INDEX IDX_tno ON 教师表(教师编号) GO
USE 学生选课管理 go
EXEC sp_helpindex 教师表 GO
USE 学生选课管理
IF EXISTS(SELECT name FROM sysobjects WHERE name='IDX_bhname') drop INDEX xuesb.IDX_bhname GO
CREATE INDEX IDX_bhname ON 学生表(专业,姓名) GO
USE 学生选课管理 go
EXEC sp_helpindex 学生表 GO
15
…… 此处隐藏:1301字,全部文档内容请下载后查看。喜欢就下载吧 ……相关推荐:
- [高等教育]公司协助某村精准扶贫工作总结.doc
- [高等教育]高二生物知识点总结(全)
- [高等教育]苏教版数学三年级下册《解决问题的策略
- [高等教育]仪器分析课程学习心得
- [高等教育]2017年五邑大学数学与计算科学学院333
- [高等教育]人教版七年级下册语文第四单元测试题(
- [高等教育]2018年秋七年级英语上册Unit7Howmuchar
- [高等教育]2017年八年级下数学教学工作小结
- [高等教育]湖南省怀化市2019届高三统一模拟考试(
- [高等教育]四年级下册科学_基础训练及答案教材
- [高等教育]城郊煤矿西风井管路伸缩器更换施工安全
- [高等教育]昆八中20182019学年度上学期期末考试
- [高等教育]项目部各类人员任命书
- [高等教育]上市公司经营水务产业的模式
- [高等教育]人教版高二化学第一学期第三章水溶液中
- [高等教育]【中考物理第一轮复习资料】四.压强与
- [高等教育]金坑水电站报废改建工程机电设备更新改
- [高等教育]高中生物教学工作计划简易版
- [高等教育]2017年西华大学攀枝花学院(联合办学)44
- [高等教育]最新整理超短爆笑英文小笑话大全
- 优秀教师继续教育学习心得体会
- 阳历到阴历的转换
- 留守儿童教育案例分析
- 华师17春秋学期《玩教具制作与环境布置
- 测速传感器新型安装装置的现场应用
- 人教版小学数学三年级下册第四单元
- 创业个人意向书
- 山东省潍坊市2012年高考仿真试题(三)
- [恒心][好卷速递]四川省成都外国语学校
- 多少人错把好转反应当成了病情加重处理
- 中外广播电视史复习资料整理
- 江苏省扬州市江都区宜陵镇中学2014-201
- 工程造价专业毕业实习报告
- 广西师范学院心理与教育统计
- aympkrq基于 - asp的博客网站设计与开
- 建筑业外出经营相关流程操作(营改增后
- 人治 德治 法治
- [精华篇]常识判断专项训练题库
- 中国共产党为什么要实行民主集中
- 小学数学第三册第一单元试卷(A、B、C




