ImageVerifierCode 换一换
格式:PPT , 页数:17 ,大小:299.50KB ,
文档编号:5818734      下载积分:15 文币
快捷下载
登录下载
邮箱/手机:
温馨提示:
系统将以此处填写的邮箱或者手机号生成账号和密码,方便再次下载。 如填写123,账号和密码都是123。
支付方式: 支付宝    微信支付   
验证码:   换一换

优惠套餐
 

温馨提示:若手机下载失败,请复制以下地址【https://www.163wenku.com/d-5818734.html】到电脑浏览器->登陆(账号密码均为手机号或邮箱;不要扫码登陆)->重新下载(不再收费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录  
下载须知

1: 试题类文档的标题没说有答案,则无答案;主观题也可能无答案。PPT的音视频可能无法播放。 请谨慎下单,一旦售出,概不退换。
2: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
3: 本文为用户(momomo)主动上传,所有收益归该用户。163文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

1,本文(《sql server数据库应用与实践教程》课件第7章-存储过程-输出参数.ppt)为本站会员(momomo)主动上传,163文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。
2,用户下载本文档,所消耗的文币(积分)将全额增加到上传者的账号。
3, 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(发送邮件至3464097650@qq.com或直接QQ联系客服),我们立即给予删除!

《sql server数据库应用与实践教程》课件第7章-存储过程-输出参数.ppt

1、 输入学生的学号,如果输入信息正确,则统计该学生所输入学生的学号,如果输入信息正确,则统计该学生所有科目的最高分有科目的最高分(使用使用return语句返回语句返回),并调用存储过程,并调用存储过程显示结果。显示结果。思考:如果上题还需返回学生不及格科目数,该如何操思考:如果上题还需返回学生不及格科目数,该如何操作?作?第七章第七章存储过程存储过程-输出参数输出参数存储过程的输出参数存储过程的输出参数创建带有参数的存储过程创建带有参数的存储过程(输出参数输出参数)存储过程调用存储过程存储过程调用存储过程 存储过程的参数分为存储过程的参数分为输入参数输入参数和和输出参数输出参数两种类型,输两种类

2、型,输入参数用于向存储过程中带入数据,而输出参数则能将存储入参数用于向存储过程中带入数据,而输出参数则能将存储过程中的数据返回到调用程序。过程中的数据返回到调用程序。在定义存储过程时在定义存储过程时,可以同时指定输入及输出参数:可以同时指定输入及输出参数:参数名参数名 数据类型数据类型=默认值默认值OUTPUT,.n创建存储过程创建存储过程prcGetAvgScore,用于根据给定的学号计算该学生所,用于根据给定的学号计算该学生所有课程的平均成绩,并使用输出参数返回平均成绩。有课程的平均成绩,并使用输出参数返回平均成绩。解决方案:解决方案:CREATE PROCEDURE prcGetAvgS

3、coreStuID char(10),),-学号,输入参数学号,输入参数 AvgScore float OUTPUT -成绩,输出参数成绩,输出参数ASBEGIN TRY IF EXISTS(select*from student where StuID=StuID)select AvgScore=avg(Grade)from SC where StuID=StuID ELSEprint the student does not exists!END TRYBEGIN CATCH PRINT ERROR RAISEDEND CATCH用户输入:用户输入:DECLARE AvgScore flo

4、atEXEC prcGetAvgScore A00001,AvgScore OUTPUTPRINT AvgScore 输入学生的学号,如果输入信息正确,则统计该学生所输入学生的学号,如果输入信息正确,则统计该学生所有科目的最高分和不及格的科目数,并将以上数据使用输出有科目的最高分和不及格的科目数,并将以上数据使用输出参数返回。参数返回。create proc prcGetStuGradeInfoStuID char(10),MaxScore float=0 output,FailCount int=0 outputasbegin tryif exists(select*from student

5、 where StuID=StuID)beginselect MaxScore=max(Score)from SCwhere StuID=StuID select FailCount=count(Score)from SC where StuID=StuID and Score=3)print 亲,您挂了,重头再来吧亲,您挂了,重头再来吧!elsebegindeclare Credit intselect Credit=sum(Credit)from SC join Course on SC.CourseID=Course.CourseIDwhere StuID=A00001 and Scor

6、e=60print Creditend有存储过程有存储过程A和和B,假设,假设B中需要调用存储过程中需要调用存储过程A,则存储过,则存储过程程B的参数列表中,一般情况下输入参数必须与存储过程的参数列表中,一般情况下输入参数必须与存储过程A的完全一致,且一一对应,的完全一致,且一一对应,A中的输出参数不在中的输出参数不在B中出现,中出现,如果如果B不再被其他存储过程调用,则不再被其他存储过程调用,则B中没有其他输出参数。中没有其他输出参数。create proc prcManageGradeInfoStuID char(10)Asbegin trydeclare MaxScore float d

7、eclare FailCount intexec prcGetStuGradeInfo StuID,MaxScore output,FailCount outputif(FailCount=3)print 亲,您挂了,重头再来吧亲,您挂了,重头再来吧!elsebegin declare Credit int select Credit=sum(Credit)from SC join Course on SC.CourseID=Course.CourseID where StuID=StuID and Score=60 print Credit print MaxScoreendend tryb

8、egin catch用户输入:用户输入:Exec prcManageGradeInfo A00001使用使用ALTER PROCEDURE语句修改存储过程语句修改存储过程语法:语法:ALTER PROC EDURE 存储过程名存储过程名 参数名参数名 数据类型数据类型 =默认值默认值 OUTPUT ,.n ASSQL语句语句 .n 使用使用DROP PROCEDURE 语句语句示例:写一个存储过程,查找某个学生是否选修了某门课程,如果选修示例:写一个存储过程,查找某个学生是否选修了某门课程,如果选修了则返回了则返回1,否则返回,否则返回0,错误返回,错误返回-1.解决方案:解决方案:CREAT

9、E PROC prcIsCourseSelectedStuID char(10),CourseID intAS BEGIN TRY if exists(select*from SC where StuID=StuID and CourseID=CourseID)return 1 else return 0 END TRY BEGIN CATCH return-1 END CATCH解决方案:解决方案:ALTER PROC prcManageIsCourseSelectedStuID char(10),CourseID intASDECLARE returnValue intEXEC retur

10、nValue=prcIsCourseSelected StuID,CourseIDIF returnValue=1BEGINDECLARE Grade floatSELECT Grade=Score FROM SC WHERE StuID=StuID AND CourseID=CourseIDPRINT GradeENDELSE IF returnValue=0PRINT 用户信息有误用户信息有误ELSEPRINT 程序出错程序出错再写一个存储过程调用上一存储过程,当返回值为再写一个存储过程调用上一存储过程,当返回值为1,显示选修成绩,显示选修成绩,为为0时提示用户信息有误,时提示用户信息有误

11、,-1时提示出错了。时提示出错了。写一个存储过程执行银行转账的功能,假设数据库中有账户表写一个存储过程执行银行转账的功能,假设数据库中有账户表Account(UserName,UserAccount),现要将用户,现要将用户A转账到用户转账到用户B一定的金额,一定的金额,完成存储过程。完成存储过程。create proc prcTransferOrginUser varchar(20),DesUser varchar(20),Money money As if exists(select*from Account where UserName=OrginUser)if exists(selec

12、t*from Account where UserName=DesUser)beginupdate Account set UserAccount=UserAccount-Money where UserName=OrginUserupdate Account Set UserAccount=UserAccount+Money where UserName=DesUser end.假设程序执行到第一个更新语句时断电假设程序执行到第一个更新语句时断电了?了?带有输出参数的存储过程带有输出参数的存储过程存储过程调用存储过程存储过程调用存储过程创建带有输出参数的存储过程创建带有输出参数的存储过程存储过程调用存储过程存储过程调用存储过程

侵权处理QQ:3464097650--上传资料QQ:3464097650

【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。


163文库-Www.163Wenku.Com |网站地图|