存储过程触发器和函数实验.docVIP

  1. 1、本文档共12页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
存储过程、触发器和用户自定义函数实验 实验内容一 练习教材中存储过程、触发器和用户自定义函数的例子。教材中的BookSales数据库,在群共享中,文件名为BookSales.bak。 实验内容二 针对附件1中的教学活动数据库,完成下面的实验内容。 1、存储过程 (1)创建一个存储过程,该存储过程统计“高等数学”的成绩分布情况,即按照各分数段统计人数。 (2)创建一个存储过程,该存储过程有一个参数用来接收课程号,该存储过程统计给定课程的平均成绩。 (3)创建一个存储过程,该存储过程将学生选课成绩从百分制改为等级制(即 A、B、C、D、E)。 (4)创建一个存储过程,该存储过程有一个参数用来接收学生姓名,该存储过程查询该学生的学号以及选修课程的门数。 (5)创建一个存储过程,该存储过程有两个输入参数用来接收学号和课程号,一个输出参数用于获取相应学号和课程号对应的成绩。 2、触发器 (1)为study表创建一个UPDATE触发器,当更新成绩时,要求更新后的成绩不能低于原来的成绩。 (2)为study表创建一个DELETE触发器,要求一次只能从study表中删除一条记录。 (3)为course表创建一个INSERT触发器,要求插入的课程记录中任课教师不能为空。 3、用户自定义函数 (1)创建一个返回标量值的用户定义函数 RectangleArea:输入矩形的长和宽就能计算矩形的面积。 create function RectangleArea(@a int,@b int) returns int as begin return @a*@b end (2)创建一个用户自定义函数,功能为产生一张有关学生成绩统计的报表。该报表显示每一门课程的课程号、课程名、选修人数、本门最高分、最低分和平均分。调用这个函数,生成相应的报表并给用户浏览。 create function student_table() returns table as return( select student_course.tcid 课程号,course.cname 课程名,COUNT(student_course.sno) 选修人数,max(student_course.score) 最高分,min(student_course.score) 最低分,avg(student_course.score) 平均分 from student_course,course where student_course.tcid=course.cno group by student_course.tcid,course.cname ) 实验数据库说明 教学活动数据库包括student、course和study三个基本表,三个基本表的结构说明和数据如下: (1)学生表(student) 学生表的结构 列名 数据类型 长度 是否允许为空值 字段说明 sno char 5 NO 学号 sname char 8 NO 姓名 age smallint 年龄 sex nchar 1 性别 说明:sno为主键,age的范围为15~35之间,sex只能为“男”或“女”。 学生表的记录 sno sname age sex 98601 李强 20 男 98602 刘丽 21 女 98603 张兵 20 男 98604 陈志坚 22 男 98605 王颖 21 女 (2)课程表(course) 课程表的结构 列名 数据类型 长度 是否允许为空值 说明 cno char 4 NO 课程号 cname char 20 NO 课程名 teacher char 8 任课教师 说明:cno为主键。 课程表的记录 cno cname teacher C601 高等数学 周振兴 C602 数据结构 刘建平 C603 操作系统 刘建平 C604 编译原理 王志伟 (3)选课表(study) 选课表的结构 列名 数据类型 长度 是否允许为空值 说明 sno char 5 NO 学号 cno char 4 NO 课程号 score smallint 成绩 说明:sno和cno为主键,sno为外键(参照student表的sno),cno为外键(参照course表的cno),score的范围为0~100之间。 选课表的记录 sno cno score 98601 C601 90 98601 C602 90 98601 C603 85 98601 C604 87 98602 C601 90 98603 C601 75 98603 C602 70 98603 C604 56 98604 C601 90 98604 C604

文档评论(0)

光光文挡 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档