云题海 - 专业文章范例文档资料分享平台

当前位置:首页 > 数据库系统概论王珊第五版学习笔记

数据库系统概论王珊第五版学习笔记

  • 62 次阅读
  • 3 次下载
  • 2026/4/23 7:01:20

类似与C语言中的函数。

编写一个存储过程,在sc表统计每个学生的平均分.

create proc avergrade as begin

//创建存储过程

select sno,avg(grade) 平均分 from sc group by sno end

exec avergrade

drop procedure avergrade

//执行存储过程

//删除存储过程

对练习1的存储过程进行改进,添加一个输入参数——学号,使存储过程能根据输入的学号计算该学生的平均分

create proc avergrade @sno char(10) as begin

select sno,avg(grade) 平均分 from sc

where sno = @sno group by sno end

exec avergrade '04'

drop procedure avergrade

在练习2的基础上添加一个输出参数——平均分,计算指定学号的平均分,然后将平均分输出。

create proc avergrade @sno char(10), @saving int out as begin

select @saving = avg(grade) from sc

where sno = @sno group by sno end

declare @avg int set @avg = 0

exec avergrade '02',@avg out select @avg 平均分

drop procedure avergrade

3.函数。

函数必须返回指定类型,可以返回表,有输入参数。

创建成绩转换函数,实现百分制成绩与优、良、中、及格、不及格五个等级的换算.

CREATE FUNCTION grade_trans(@grade FLOAT) RETURNS CHAR(16) AS BEGIN

DECLARE @class CHAR(16) SELECT @class = CASE

WHEN @grade IS NULL THEN '还没参加考试' WHEN @grade < 60 THEN '不及格'

WHEN @grade >= 60 and @grade < 70 THEN '及格' WHEN @grade >= 70 and @grade < 80 THEN '中等' WHEN @grade >= 80 and @grade < 90 THEN '良好' ELSE '优秀!' END

RETURN(@class) END

select dbo.grade_trans(88)

查询某个院系所有学生所选的每门课的平均成绩。

create function aver (@p char(10)) returns table as return (

select cno 课程号,avg(grade) 平均成绩

from student,sc

where student.sno=sc.sno and sdept=@p

group by cno )

select * from dbo.aver('cs')

drop function aver

求某个院系选修了某门课的学生人数。

create function people(@p0 char(10),@p1 char(4)) returns int as begin

declare @renshu int select @renshu = ( )

return @renshu

select COUNT(*) 选课人数 from student,sc

where student.sno = sc.sno and cno = @p1 and sdept = @p0

end

select dbo.people('cs','2')

搜索更多关于: 数据库系统概论王珊第五版学习笔记 的文档
  • 收藏
  • 违规举报
  • 版权认领
下载文档10.00 元 加入VIP免费下载
推荐下载
本文作者:...

共分享92篇相关文档

文档简介:

类似与C语言中的函数。 编写一个存储过程,在sc表统计每个学生的平均分. create proc avergrade as begin //创建存储过程 select sno,avg(grade) 平均分 from sc group by sno end exec avergrade drop procedure avergrade //执行存储过程 //删除存储过程 对练习1的存储过程进行改进,添加一个输入参数——学号,使存储过程能根据输入的学号计算该学生的平均分 create proc avergrade @sno char(10) as begin

× 游客快捷下载通道(下载后可以自由复制和排版)
单篇付费下载
限时特价:10 元/份 原价:20元
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:fanwen365 QQ:370150219
Copyright © 云题海 All Rights Reserved. 苏ICP备16052595号-3 网站地图 客服QQ:370150219 邮箱:370150219@qq.com