欢迎来到163文库! | 帮助中心 精品课件PPT、教案、教学设计、试题试卷、教学素材分享与下载!
163文库
全部分类
  • 办公、行业>
  • 幼教>
  • 小学>
  • 初中>
  • 高中>
  • 中职>
  • 大学>
  • 各类题库>
  • ImageVerifierCode 换一换
    首页 163文库 > 资源分类 > PPT文档下载
    分享到微信 分享到微博 分享到QQ空间

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

    • 文档编号:5818734       资源大小:299.50KB        全文页数:17页
    • 资源格式: PPT        下载积分:15文币     交易提醒:下载本文档,15文币将自动转入上传用户(momomo)的账号。
    微信登录下载
    快捷注册下载 游客一键下载
    账号登录下载
    二维码
    微信扫一扫登录
    下载资源需要15文币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    优惠套餐(点此详情)
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、试题类文档,标题没说有答案的,则无答案。带答案试题资料的主观题可能无答案。PPT文档的音视频可能无法播放。请谨慎下单,否则不予退换。
    3、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者搜狗浏览器、谷歌浏览器下载即可。。

    《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.假设程序执行到第一个更新语句时断电假设程序执行到第一个更新语句时断电了?了?带有输出参数的存储过程带有输出参数的存储过程存储过程调用存储过程存储过程调用存储过程创建带有输出参数的存储过程创建带有输出参数的存储过程存储过程调用存储过程存储过程调用存储过程


    注意事项

    本文(《sql server数据库应用与实践教程》课件第7章-存储过程-输出参数.ppt)为本站会员(momomo)主动上传,其收益全归该用户,163文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!




    Copyright@ 2017-2037 Www.163WenKu.Com  网站版权所有  |  资源地图   
    IPC备案号:蜀ICP备2021032737号  | 川公网安备 51099002000191号


    侵权投诉QQ:3464097650  资料上传QQ:3464097650
       


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

    163文库