- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
实验:存储过程2
一、实验目的与任务
目的:旨在训练学生能创建带有输出参数的存储过程及存储过程调用存储过程。
任务:根据需求,写出满足条件的存储过程。
任务1: 创建存储过程prcGetStuGradeInfo,输入学生的学号,如果输入信息正确,则统计该学生所有科目的最高分和不及格的科目数,并将以上数据使用输出参数返回。
create proc prcGetStuGradeInfo
@StuID char(10),
@MaxScore int = 0 OUTPUT,
@FailCount int = 0 OUTPUT
as
begin try
if exists(select * from SC where StuID=@StuID)
begin
select @MaxScore = MAX(Score)from SC where StuID=@StuID
select @FailCount = COUNT (*) from SC where Score60 and StuID=@StuID
end
end try
begin catch
print输入信息错误!
end catch
declare @MaxScore int
declare @FailCount int
exec prcGetStuGradeInfoA00001,@MaxScore output,@FailCount output
print @MaxScore
print @FailCount
任务2: 针对存储过程prcGetStuGradeInfo的返回值写一存储过程,如果不及格数大于等于3门,则提示用户‘亲,您挂了,重头再来吧!’;否则显示学生已获学分。假设Course表(CourseID,CourseName,Credit)。
alter proc prcPrintCredit
@StuID char(10)
as
begin try
declare @MaxScore int
declare @FailCount int
exec prcGetStuGradeInfoA00001,@MaxScore output,@FailCount output
if(@FailCount=3)
print亲,您挂了,重头再来吧!
else
begin
declare @Credit int
select @Credit = SUM(Credit) from SC join Course
on SC.CourseID = Course.CourseID
where StuID = @StuID and Score =60
print @Credit
end
end try
begin catch
print出错!
end catch
exec prcPrintCredit A00001
任务3:写一个存储过程,查找某个学生是否选修了某门课程,如果选修了则返回1,否则返回0,错误返回-1.
create proc prcGetCourseName
@StuID char(10),
@CourseName char(20)
as
begin try
if exists(select * from SC join Course
on SC.CourseID = Course.CourseID
where StuID = @StuID and CourseName = @CourseName)
begin
return 1
end
else
return 0
end try
begin catch
return -1
end catch
再写一个存储过程调用上一存储过程,当返回值为1,显示选修成绩,为0时提示用户信息有误,-1时提示出错了。
alter proc prcPrintScore
@StuID char(10),
@CourseName char(20)
as
begin try
declare @Score int
declare @ReturnValue int
exec @ReturnValue = prcGetCourseName @StuID,@CourseName
if(@ReturnValue = 1)
begin
select @Score = Score from SC join Course
on SC.CourseID = Course.CourseID
where StuID = @StuID and CourseName = @Cours
您可能关注的文档
- Linux系统管理实战教程(Red Hat Enterprise Linux 8CentOS 8)课件 任务19 配置Samba文件共享.pptx
- Linux系统管理实战教程(Red Hat Enterprise Linux 8CentOS 8)课件 任务20 配置DHCP服务.pptx
- Linux系统管理实战教程(Red Hat Enterprise Linux 8CentOS 8)课件 任务6 使用shell.pptx
- Linux系统管理实战教程(Red Hat Enterprise Linux 8CentOS 8)课件 任务21 配置DNS域名解析服务.pptx
- Linux系统管理实战教程(Red Hat Enterprise Linux 8CentOS 8)课件 任务22 配置FTP服务.pptx
- Linux系统管理实战教程(Red Hat Enterprise Linux 8CentOS 8)课件 任务23 用Apache部署静态网站.pptx
- Linux系统管理实战教程(Red Hat Enterprise Linux 8CentOS 8)课件 任务24 部署LAMP环境.pptx
- MySQL数据库系统原理 课件 1. Linux与数据库概述.pptx
- MySQL数据库系统原理 课件 5. 索引原理基础.pptx
- MySQL数据库系统原理 课件 6. 事务处理与锁.pptx
最近下载
- 2024年甘肃陇南成县招聘司法协理员17人考试备考题库及答案解析.docx VIP
- 2025年正高面审答辩-正高069面审答辩全科医学历年参考题库含答案解析.docx
- 2025消防宣传月消防安全知识培训课件PPT.pptx
- 5.2 主视图、左视图以及俯视图(附答案).docx VIP
- 25秋电大大作业:如何理解“作风建设永远在路上,永远没有休止符”?我们应如何加强作风建设?.doc VIP
- 23S516 混凝土排水管道基础及接口 .docx VIP
- 2025政治高考河北省真题试卷+解析及答案.docx VIP
- (2021-2025)中考语文 古诗文阅读之文言句子翻译 高频考点+易错点.docx VIP
- 2025年中考语文复习知识清单专题30文言文翻译及断句(3份思维导图+文言翻译10法+文言断句知识梳理+文言翻译10大陷阱+文言断句5大陷阱)(原卷版+解析).docx VIP
- 2025至2030中国特性水泥行业发展分析及前景趋势与投资报告.docx
原创力文档


文档评论(0)