实验12存储过程和游标答案

实验12存储过程和游标答案

ID:6589047

大小:42.00 KB

页数:5页

时间:2018-01-19

实验12存储过程和游标答案_第1页
实验12存储过程和游标答案_第2页
实验12存储过程和游标答案_第3页
实验12存储过程和游标答案_第4页
实验12存储过程和游标答案_第5页
资源描述:

《实验12存储过程和游标答案》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、实验12存储过程和游标的使用一、实验目的1.    理解存储过程的概念,掌握各种存储过程的创建方法。2.    掌握查看、修改和删除存储过程的方法。3.    掌握执行存储过程的方法。4.掌握游标的创建和使用。二、实验内容从查询分析器中导入实验文件夹中的“实验初始化数据.sql”文件并运行,然后完成下面题目:(提示:学生表(Students):属性:学号(Sno),姓名(Sname),性别(Ssex),系别(Sdept),年龄(Sage)。其中学号设为主键,学号和姓名不能为空,性别取值只能是F或M,系别缺省值为“计算机”。选课信息表(Enrollment)。属性:学号(Sno

2、),课程名(Cno),成绩(Grade)。其中课程号设为主键,课程号和课程名不能为空.。课程信息表(Course)。属性:课程号(Cno),课程名称(Cname),学分(Credits)。)1. 存储过程的创建和使用。(1)、创建一个名为“proc_1”的存储过程,用于查看学生表的所有信息。然后调用该存储过程。SQL语句如下:USESCinfoGOCREATEPROCEDUREproc_1ASSELECT*FROMStudents(2)、创建一个名为“proc_2”的存储过程,用于向学生表的所有字段添加一条记录,记录内容由调用时决定。然后调用该存储过程输入一条记录(1111,

3、'关羽','M','English',30)。SQL语句如下:USESCinfoGOCREATEPROCEDUREproc_2@SnoSMALLINT,@SnameVARCHAR(8),@SsexCHAR(1),@SdeptVARCHAR(20),@SageTINYINTASINSERTINTOStudentsVALUES(@Sno,@Sname,@Ssex,@Sdept,@Sage)GOEXECproc_21111,'关羽','F','English',30GO(3)、创建一个名为“proc_3”的存储过程,用于删除学生表中指定学号的记录,具体学号由调用时决定。然后调用该存

4、储过程将学号为1111的记录删除。SQL语句如下:USESCinfoGOCREATEPROCEDUREproc_3@SnoSMALLINTASDELETEFROMStudentsWHERESno=@SnoGOEXECproc_31111GO(4)、修改存储过程“proc_3”,用于查询不小于指定年龄的学生的基本信息,具体年龄由调用时决定。然后调用存储过程proc_3查询年龄小于20岁的学生记录。SQL语句如下:USESCinfoGOALTERPROCEDUREproc_3@SageTINYINTASSELECT*FROMStudentsWHERESage<@SageGOEXE

5、Cproc_320GO2.游标的创建和使用(1)定义一个游标STU1并利用游标逐行输出学生表(Students)中学生的学号、姓名、性别,使用完游标后立即关闭并释放该游标。SQL语句如下:DECLARESTU1CURSOR---定义游标FORSELECTSno,Sname,SsexFROMStudentsOPENSTU1----打开游标DECLARE@Snosmallint,@Snamevarchar(8),@Ssexchar(1)--定义变量FETCHNEXTFROMSTU1INTO@Sno,@Sname,@Ssex--获取一行值WHILE@@FETCH_STATUS=0B

6、EGINSELECT'学号'=@Sno,'姓名'=@Sname,'性别:'=@SsexFETCHNEXTFROMSTU1INTO@Sno,@Sname,@Ssex--从游标读取下一行值ENDCLOSESTU1---关闭游标DEALLOCATESTU1---释放游标(2)定义一个游标STU2并利用该游标输出学生表(Students)中第一个学生的所有信息,然后将该学生姓名改为张飞,并再次输入该学生信息,使用完游标后立即关闭并释放该游标。SQL语句如下:DECLARESTU2SCROLLCURSOR---定义游标FORSELECT*FROMStudentsFORUPDATEOFS

7、no,Sname,Ssex,Sdept,SageOPENSTU2----打开游标DECLARE@Snosmallint,@Snamevarchar(8),@Ssexchar(1),@Sdeptvarchar(20),@Sagetinyint--定义变量FETCHNEXTFROMSTU2INTO@Sno,@Sname,@Ssex,@Sdept,@Sage--获取第一行值SELECT'学号'=@Sno,'姓名'=@Sname,'性别:'=@Ssex,'系别'=@Sdept,'年龄'=@SageUPDATES

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。