书签 分享 收藏 举报 版权申诉 / 24
上传文档赚钱

类型《数据库》课件第7章-存储过程-输入参数.ppt

  • 上传人(卖家):momomo
  • 文档编号:5900388
  • 上传时间:2023-05-14
  • 格式:PPT
  • 页数:24
  • 大小:545KB
  • 【下载声明】
    1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
    2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
    3. 本页资料《《数据库》课件第7章-存储过程-输入参数.ppt》由用户(momomo)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
    4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
    5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
    配套讲稿:

    如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。

    特殊限制:

    部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。

    关 键  词:
    数据库 课件 存储 过程 输入 参数
    资源描述:

    1、声明变量系名,为系名赋值声明变量系名,为系名赋值“computer”,查找该系的平,查找该系的平均年龄,赋值给变量均年龄,赋值给变量avgStuAge,并显示变量的值。,并显示变量的值。要查询要查询1号学生对应的姓名。号学生对应的姓名。解决方案:解决方案:SELECT StuName FROM Student WHERE StuID=A00001 要查询要查询2号学生对应的姓名。号学生对应的姓名。解决方案:解决方案:SELECT StuName FROM Student WHERE StuID=A00002 要查询要查询3号直至号直至n号学生对应的姓名。号学生对应的姓名。解决方案:解决方案:S

    2、ELECT StuName FROM Student WHERE StuID=?SELECT StuName FROM Student WHERE StuID=StuID 用户输入:用户输入:A00005Student(StuID,StuName,StuAge,StuSex,StuScore,DepID)第七章第七章存储过程存储过程-输入参数输入参数存储过程的概念存储过程的概念创建带有参数的存储过程创建带有参数的存储过程(输入参数输入参数)存储过程的调用存储过程的调用 存储过程(存储过程(Stored Procedure)是在大型数据库系)是在大型数据库系统中,一组为了完成特定功能的统中,一组

    3、为了完成特定功能的SQL 语句集,经编译后存语句集,经编译后存储在数据库中,用户通过指定存储过程的名字并给出参数储在数据库中,用户通过指定存储过程的名字并给出参数(如果该存储过程带有参数)来执行它。(如果该存储过程带有参数)来执行它。系统存储过程系统存储过程:SQL Server内置的存储过程,存储在内置的存储过程,存储在master库中,主要用途是执行库中,主要用途是执行SQL Server的某些管理的某些管理功能、显示有关数据库和用户的信息。系统存储过程名以功能、显示有关数据库和用户的信息。系统存储过程名以SP_开头,可以在任何数据库中执行系统存储过程。开头,可以在任何数据库中执行系统存储

    4、过程。用户存储过程用户存储过程:用户自行创建并存储在用户数据库中的存:用户自行创建并存储在用户数据库中的存储过程。储过程。语法:语法:CREATE PROCEDURE 存储过程名存储过程名参数参数 数据类型数据类型=默认值默认值,.n AS SQL语句语句 .n 用户输入:用户输入:A00005CREATE PROC prcGetNameAS SELECT StuName FROM Student WHERE StuID=StuID CREATE PROC prcGetName StuIDSELECT StuName FROM Student WHERE StuID=StuID declare

    5、 char(5)ASStuID char(10)语法:语法:CREATE 输入参数输入参数PROCEDURE 存储过程名存储过程名参数参数 数据类型数据类型=默认值默认值,.nAS SQL语句语句 .n 用户输入:用户输入:A00005结论结论1:存储过程的输入参数是由用存储过程的输入参数是由用户需要提供的实际参数而决定的户需要提供的实际参数而决定的解决方案:解决方案:EXEC prcGetName A00005语法:语法:EXEC 存储过程名存储过程名 实参实参,n解决方案:解决方案:CREATE PROCAS使用存储过程实现由用户输入学生的学号及课程名称,根据输使用存储过程实现由用户输入学

    6、生的学号及课程名称,根据输入的信息,显示相应的成绩,如果成绩大于等于入的信息,显示相应的成绩,如果成绩大于等于60分,则显示分,则显示pass,否则显示,否则显示failed。prcGetScoreStuID char(10),CourseName varchar(20)解决方案:解决方案:CREATE PROCAS使用存储过程实现由用户输入学生的学号及课程名称,根据输使用存储过程实现由用户输入学生的学号及课程名称,根据输入的信息,显示相应的成绩,如果成绩大于等于入的信息,显示相应的成绩,如果成绩大于等于60分,则显示分,则显示pass,否则显示,否则显示failed。prcGetScoreS

    7、tuID char(10),CourseName varchar(20)DECLARE Grade int SET Grade=0IF Grade 60 PRINT failedELSE PRINT passSELECT FROM ON WHERE Score SC JOIN Course SC.CourseID=Course.CourseID StuID=and CourseName=StuIDCourseNameGrade=用户输入:用户输入:EXEC prcGetScore A00001,DataBase用户输入用户输入1:EXEC prcGetScore A00001用户输入用户输入2

    8、:EXEC prcGetScore DataBase,A00001结论结论2:调用存储过程时,用户输入的实参个数必须与输入参数个数一调用存储过程时,用户输入的实参个数必须与输入参数个数一致,且一一对应。致,且一一对应。使用存储过程实现由用户输入学生的学号及课程名称,根据使用存储过程实现由用户输入学生的学号及课程名称,根据输入的信息,显示相应的成绩,如果成绩小于输入的信息,显示相应的成绩,如果成绩小于60分,则向分,则向ReExam(StuID,CourseID,Score)表中插入一条记录。表中插入一条记录。解决方案:解决方案:CREATE PROC prcReExamStuID char(1

    9、0),CourseName varchar(20)ASDECLARE CourseID int SET CourseID=0SELECT CourseID=CourseID FROM Course WHERE CourseName=CourseNameIF Grade 60INSERT INTO ReExam VALUES(StuID,CourseID,Grade)假设用户输入的值违反约束性规则。假设用户输入的值违反约束性规则。BEGIN TRYSQL语句语句END TRYBEGIN CATCH错误处理语句错误处理语句END CATCHCREATE PROC prcReExamStuID ch

    10、ar(10),CourseName varchar(20)AS BEGIN TRY DECLARE Grade int SET Grade=0 DECLARE CourseID int SET CourseID=0 SELECT Grade=Score,CourseID=SC.CourseID FROM SC JOIN Course ON SC.CourseID=Course.CourseID WHERE StuID=StuID and CourseName=CourseName IF Grade=60BEGIN SELECT Credit=Credit FROM Course WHERE C

    11、ourseID=CourseID RETURN Credit END ELSE RETURN 0 ENDELSE RETURN-1 用户输入:用户输入:declare ReturnValue intexec ReturnValue=prcGetCreditInfo A00001,1print ReturnValue注意:注意:RETURN只能返回整数只能返回整数示例:写一个存储过程,查找某个学生是否选修了某门课程,如果选修示例:写一个存储过程,查找某个学生是否选修了某门课程,如果选修了则返回了则返回1,否则返回,否则返回0,错误返回,错误返回-1.解决方案:解决方案:CREATE PROC p

    12、rcIsCourseSelectedStuID 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思考:如果根据课程号返回相应课思考:如果根据课程号返回相应课程名,该如何操作?程名,该如何操作?写一存储过程,根据不同的系名,查找该系的所有学生最高写一存储过程,根据不同的系名,查找该系的所有学生最高入学成绩,假设最高分大于等于入学

    13、成绩,假设最高分大于等于90分,则返回状态分,则返回状态1,否则,否则返回状态返回状态0,出错返回状态,出错返回状态-1,系名不存在返回状态系名不存在返回状态-2。用户调用该存储过程,返回值为用户调用该存储过程,返回值为1,显示存在学生成绩大于,显示存在学生成绩大于等于等于90,返回状态,返回状态0,显示不存在学生最高分大于等于,显示不存在学生最高分大于等于90,否则提示用户出错了。否则提示用户出错了。带有输入参数的存储过程带有输入参数的存储过程带有返回值的存储过程带有返回值的存储过程创建带有输入参数及返回值的存储过程创建带有输入参数及返回值的存储过程RETURN语句能返回整数,如要返回其他类型或返回多个语句能返回整数,如要返回其他类型或返回多个值,该如何解决?值,该如何解决?

    展开阅读全文
    提示  163文库所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
    关于本文
    本文标题:《数据库》课件第7章-存储过程-输入参数.ppt
    链接地址:https://www.163wenku.com/p-5900388.html

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


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


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

    163文库