《2022年数据库实验六游标的使用.pdf》由会员分享,可在线阅读,更多相关《2022年数据库实验六游标的使用.pdf(4页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、数据库实验六:游标的使用数据库实验六 : 游标的使用一、实验目的与要求 : 1. 实验目的(1) 理解 SQL的宿主使用方式。(2) 掌握游标的使用方法。2. 实验要求(1) 参考例 7-3 建立一个嵌套游标应用 , 其功能就是按学号升序列出全体学生信息 ( 学号、姓名、院系名称 ) 及其所修课程的名称与考试成绩信息(基于前面实验建立的表与插入的数据) (2) 按要求逐一读出游标中的记录, 并在界面上显示。(3) 可以交互对记录进行修改。二、实验内容1、实验原理(1) 定义游标的 SQL语句的一般格式就是 : DECLARE INSENSITIVE SCROLL CURSOR FOR FOR
2、READ ONLY | UPDATE OF , (2) 打开游标的 SQL语句的一般格式就是 : OPEN (3) 从游标中读记录的SQL语句的一般格式就是 : FETCH NEXT | PRIOR | FIRST | LAST | ABSOLUTE n | RELATIVE n FROM INTO: ,: (4) 关闭游标的 SQL语句的一般格式就是 : CLOSE (5) 释放游标DEALLOCATE (6) 使用游标的 UPDATE 命令的格式就是 : UPDATE 精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - -
3、 - - -第 1 页,共 4 页 - - - - - - - - - - 数据库实验六:游标的使用SET =| NULL ,=| NULL WHERE CURRENT OF (7) 使用游标的 DELETE 命令的格式就是 : DELETE FROM WHERE CURRENT OF 2、实验步骤与结果(1) 调出 SQL Server2005 软件的用户界面 , 进入 SQL SERVER MANAGEMENT STUDIO 。(2) 输入自己编好的程序。(3) 检查已输入的程序正确与否。(4) 运行程序 , 并分析运行结果就是否合理与正确。 在运行时要注意当输入不同的数据时所得到的结果就
4、是否正确。(5) 输出程序清单与运行结果。(1) 参考例 7-3 建立一个嵌套游标应用 , 其功能就是按学号升序列出全体学生信息 ( 学号、姓名、院系名称 ) 及其所修课程的名称与考试成绩信息(基于前面实验建立的表与插入的数据) (2) 按要求逐一读出游标中的记录, 并在界面上显示。(3) 可以交互对记录进行修改。代码及截图 : declare xuehao char(10), xingming char(10), yuanxi char(10) declare kecheng char(10), chengji smallint declare xuesheng_cursor cursor
5、for select 学号 , 姓名 , 院系from 学生open xuesheng_cursor fetch from xuesheng_cursor into xuehao, xingming , yuanxi while FETCH_STATUS= 0 begin print 学号 :+xuehao+ 姓名 :+xingming + 院系 :+yuanxi declare kecheng_cursor cursor for select 课程名称 , 成绩from 选课 , 课程where 选课 、学号= xuehao and 课程 、课程编号= 选课 、课程编号open kechen
6、g_cursor fetch from kecheng_cursor into kecheng, chengji while FETCH_STATUS= 0 begin print xingming +的选课就是 :+kecheng+ 成绩就是 :+str(chengji ) print 精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 2 页,共 4 页 - - - - - - - - - - 数据库实验六:游标的使用fetch from kecheng_cursor into kecheng, chen
7、gji end close kecheng_cursor deallocate kecheng_cursor fetch from xuesheng_cursor into xuehao, xingming , yuanxi end close xuesheng_cursor deallocate xuesheng_cursor declare AVGM smallint ,StuNum smallint declare AVGM cursor forselect 学号 ,平均成绩from学生open AVGM fetch from AVGM into StuNum ,AVGM while F
8、ETCH_STATUS =0 begin if AVGM 60 beginupdate 学生set 平均成绩=59 where 学号 =StuNumprint 修改了一名学生的成绩 end fetch from AVGM into StuNum,AVGM end close AVGM deallocate AVGM精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 3 页,共 4 页 - - - - - - - - - - 数据库实验六:游标的使用三、实验分析与小结 : ( 实验过程中的问题分析、 产生的原因
9、以及解决方法 ; 实验结果分析 ; 有待优化思路 )1、实验过程中的问题分析、产生的原因以及解决方法。2、实验结果分析 ; 有待优化思路。在实验过程中应该特别注意: 内、外层都就是用全局变量 FETCH_STATUS进行控制, 该变量的值取决于最近一次FETCH 语句的执行结果。四、其它思考题 : 1、游标的作用?答: 游标就是系统为用户开设的一个数据缓冲区, 存放 SQL语句的执行结果。每个游标区都有一个名字。用户可以用SQL语句逐一从游标中获取记录, 并赋给主变量, 交由主语言进一步处理。 主语言就是面向记录的 , 一组主变量一次只能存放一条记录。仅使用主变量并不能完全满足SQL语句向应用程序输出数据的要求。嵌入式 SQL引入了游标的概念 , 用来协调这两种不同的处理方式。得分( 百分制 ) 精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 4 页,共 4 页 - - - - - - - - - -