收藏 分享(赏)

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

上传人:hskm5268 文档编号:8771145 上传时间:2019-07-11 格式:DOC 页数:5 大小:42KB
下载 相关 举报
实验12存储过程和游标答案.doc_第1页
第1页 / 共5页
实验12存储过程和游标答案.doc_第2页
第2页 / 共5页
实验12存储过程和游标答案.doc_第3页
第3页 / 共5页
实验12存储过程和游标答案.doc_第4页
第4页 / 共5页
实验12存储过程和游标答案.doc_第5页
第5页 / 共5页
亲,该文档总共5页,全部预览完了,如果喜欢就下载吧!
资源描述

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 语句如下:USE SCinfoGOCREATE PROCEDURE proc_1AS SELECT *FROM Students(2)、创建一个名为“proc_2” 的存储过程,用于向学生表的所有字段添加一条记录,记录内容由调用时决定。然后调用该存储过程输入一条记录(

3、1111,关羽,M,English,30 )。SQL 语句如下:USE SCinfoGOCREATE PROCEDURE proc_2 Sno SMALLINT,Sname VARCHAR(8),Ssex CHAR(1),Sdept VARCHAR(20),Sage TINYINT AS INSERT INTO StudentsVALUES(Sno,Sname,Ssex,Sdept,Sage)GOEXEC proc_2 1111,关羽 ,F,English,30 GO(3)、创建一个名为“proc_3” 的存储过程,用于删除学生表中指定学号的记录,具体学号由调用时决定。然后调用该存储过程将学号

4、为 1111 的记录删除。SQL 语句如下:USE SCinfoGOCREATE PROCEDURE proc_3 Sno SMALLINTAS DELETE FROM StudentsWHERE Sno = SnoGOEXEC proc_3 1111GO(4)、修改存储过程“proc_3” ,用于查询不小于指定年龄的学生的基本信息,具体年龄由调用时决定。然后调用存储过程 proc_3 查询年龄小于 20 岁的学生记录。SQL 语句如下:USE SCinfoGOALTER PROCEDURE proc_3 Sage TINYINTAS SELECT * FROM StudentsWHERE S

5、age SageGOEXEC proc_3 20GO2.游标的创建和使用(1)定义一个游标 STU1 并利用游标逐行输出学生表(Students)中学生的学号、姓名、性别,使用完游标后立即关闭并释放该游标。SQL 语句如下:DECLARE STU1 CURSOR -定义游标FOR SELECT Sno,Sname,Ssex FROM StudentsOPEN STU1 -打开游标DECLARE Sno smallint ,Sname varchar(8),Ssex char(1) -定义变量FETCH NEXT FROM STU1 INTO Sno ,Sname,Ssex -获取一行值WHIL

6、E FETCH_STATUS = 0BEGINSELECT 学号=Sno, 姓名= Sname, 性别:= SsexFETCH NEXT FROM STU1 INTO Sno ,Sname,Ssex -从游标读取下一行值ENDCLOSE STU1 -关闭游标DEALLOCATE STU1 -释放游标(2)定义一个游标 STU2 并利用该游标输出学生表(Students)中第一个学生的所有信息,然后将该学生姓名改为张飞,并再次输入该学生信息,使用完游标后立即关闭并释放该游标。SQL 语句如下:DECLARE STU2 SCROLL CURSOR -定义游标FOR SELECT * FROM St

7、udentsFOR UPDATE OF Sno ,Sname,Ssex,Sdept,SageOPEN STU2 -打开游标DECLARE Sno smallint ,Sname varchar(8),Ssex char(1),Sdept varchar(20),Sage tinyint -定义变量FETCH NEXT FROM STU2 INTO Sno ,Sname,Ssex,Sdept,Sage -获取第一行值SELECT 学号=Sno, 姓名 = Sname, 性别:= Ssex,系别=Sdept ,年龄=SageUPDATE Students -将当前行记录修改SET Sname =

8、张飞WHERE CURRENT OF STU2CLOSE STU2 -关闭游标DEALLOCATE STU2 -释放游标(3)定义一个游标 STU3 并利用该游标删除学生表(Students)中的最后一条记录,使用完游标后立即关闭并释放该游标。SQL 语句如下:DECLARE STU3 SCROLL CURSOR -定义游标FOR SELECT * FROM StudentsOPEN STU3 -打开游标FETCH LAST FROM STU3 -获取最后一行记录DELETE FROM STUDENTS -删除最后一行记录WHERE CURRENT OF STU3CLOSE STU3 -关闭游标DEALLOCATE STU3 -释放游标

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 企业管理 > 管理学资料

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报