存储过程、触发器和函数实验 联系客服

发布时间 : 星期二 文章存储过程、触发器和函数实验更新完毕开始阅读e23561cc852458fb760b5661

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 98601 98602 98603 98604 98605

sname 李强 刘丽 张兵 陈志坚 王颖 age 20 21 20 22 21 sex 男 女 男 男 女 (2)课程表(course)

课程表的结构 列名 cno cname teacher

说明:cno为主键。

课程表的记录

cno C601 C602 C603 C604

(3)选课表(study)

选课表的结构

列名 sno cno score 数据类型 char char smallint 长度 5 4 是否允许为空值 NO NO 说明 学号 课程号 成绩 cname 高等数学 数据结构 操作系统 编译原理 teacher 周振兴 刘建平 刘建平 王志伟 数据类型 char char char 长度 4 20 8 是否允许为空值 NO NO 说明 课程号 课程名 任课教师

说明:sno和cno为主键,sno为外键(参照student表的sno),cno为外键(参照course表的cno),score的范围为0~100之间。

选课表的记录

sno 98601 98601 98601 98601 98602 98603 98603 98603 98604 98604 cno C601 C602 C603 C604 C601 C601 C602 C604 C601 C604 score 90 90 85 87 90 75 70 56 90 85 98605 98605

C601 C603 95 80