ImageVerifierCode 换一换
格式:PPT , 页数:22 ,大小:1.01MB ,
资源ID:3474021      下载积分:10 文币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.wenkunet.com/d-3474021.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录   微博登录 

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(数据中心机房建设-数据中心基本知识ppt课件.ppt)为本站会员(顺腾)主动上传,文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知文库网(发送邮件至13560552955@163.com或直接QQ联系客服),我们立即给予删除!

数据中心机房建设-数据中心基本知识ppt课件.ppt

1、游标简介 一个对表进行操作的SQL语句(如select)通常都可产生或处 理一组记录,但是许多应用不能把整个结果集作为一个单元 来处理,所以就需要一种机制来保证每次处理结果其中的一 行或几行,游标(cursor)就提供了这种机制。 SQL Server通过游标提供了对一个结果集进行逐行处理的能 力,游标可看做一种特殊的指针,它与某个查询结果相联系 ,可以指向结果集的任意位置,以便对指定位置的数据进行 处理。使用游标可以在查询数据的同时对数据进行处理。 游标是系统为用户开设的一个数据缓冲区,存放SQL语句 的结果数据集,每个游标区都有一个名字,通过移动游标名 代表的指针来访问数据集中的数据 1

2、游标的使用步骤 使用游标需要经历五个步骤: 定义游标:DECLARE 打开游标:OPEN 逐行提取游标集中的行:FETCH 关闭游标:CLOSE 释放游标:DEALLOCATE 2 游标的定义 游标的定义 DECLARE SCROLLCURSOR FOR for read only|update of SCROLL: 说明所声明的游标可以前滚、后滚,可使用所有的提取 选项。如省略,则只能使用NEXT提取选项。 FOR READ ONLY | UPDATE OF : READ ONLY表示当前游标集中的元组仅可以查询,不能修改; UPDATE OF 表示可以对当前游标集中的元组进行更新操作。如果

3、有OF ,表示仅可以对游标集中指定的属性列进行更新操作。 缺省为UPDATE 定义一个能够存放sc表数据的游标 Declare cur_sc cursor for Select * from sc 3 打开游标 游标定义后,如果要使用游标,必须先打开游 标。 打开游标操作表示: 系统按照游标的定义从数据库中将数据检索出来,放在内 存的游标集中(如果内存不够,会放在临时数据库中) 为游标集指定一个游标,该游标指向游标集中的第1个元 组 格式:Open 游标名; 例:Open cur_sc 4 打开游标打开游标 打开游标后,可以使用全局变量CURSOR_ROWS查看游标 集中数据行的数目。全局变量

4、CURSOR_ROWS中保存着最后 打开的游标中的数据行数。当其值为0时,表示没有游标打开;当 其值为m(m为正整数)时,游标已被完全填充,m是游标中的数 据行数。 【例】 定义游标XS_CUR3,然后打开该游标,输出其行数。 DECLARE XS_CUR3 CURSOR SCROLL FOR SELECT 学号, 姓名, 总学分 FROM XSB FOR UPDATE OF 总学分 OPEN XS_CUR3 SELECT 游标XS_CUR3数据行数 = CURSOR_ROWS 5 获取游标数据 FETCH NEXT | PRIOR | FIRST | LAST | ABSOLUTE n |

5、nvar | RELATIVE n | nvar FROM 游标 INTO 变 量名 , NEXT | PRIOR | FIRST | LAST:说明读取数据的位置。 1. Next:读取当前行的下一行,并使其置为当前行。如fetch next为对游标 的第一次提取操作,则读取第一行,next为默认值。 2.prior:读取当前行的前一行,并使其置为当前行。如是第一次操作,则 无值返回,游标被置于第一行之前。 3.first:读取第一行,并使其置为当前行。 4.last:读取最后一行,并使其置为当前行。 6 获取游标数据 5.ABSOLUTE n | nvar | RELATIVE n | n

6、var:给出 读取数据的位置与游标头或当前位置的关系,其中n必须 为整型常量, nvar 必须为smallint、tinyint或int型的。 【例】 从游标XS_CUR1中提取数据。设该游标已经声明 并打开。 FETCH NEXT FROM XS_CUR1 执行结果如下: 7 【例】 从游标XS_CUR2中提取数据。设该游标已经声 明。 OPEN XS_CUR2 FETCH FIRST FROM XS_CUR2 读取游标第一行(当前行为第一行),结果如下: FETCH NEXT FROM XS_CUR2 读取下一行(当前行为第二行),结果如下: 获取游标数据 8 FETCH PRIOR FR

7、OM XS_CUR2 读取上一行(当前行为第一行),结果如下: FETCH LAST FROM XS_CUR2 读取最后一行(当前行为最后一行),结果如下: 获取游标数据 9 FETCH RELATIVE -2 FROM XS_CUR2 读取当前行的上两行(当前行为倒数第三行),结果如下 : l FETCH语句的执行状态保存在全局变量 FETCH_STATUS中,其值为0表示上一个FETCH执行成功 ;为-1表示所要读取的行不在结果集中;为2表示被提取的行 已不存在(已被删除)。 例如,接着上例继续执行如下语句: FETCH RELATIVE 3 FROM XS_CUR2 SELECT FET

8、CH执行情况 = FETCH_STATUS 执行结果如下: 获取游标数据 10 结束游标的使用 关闭游标 CLOSE 游标名 释放游标:游标关闭后,其定义仍在,需要时可 用OPEN语句打开它再使用。若确认游标不再需 要,就要释放其定义占用的系统空间,即删除游 标。 DEALLOCATE 游标名 11 游标的使用 变量赋值与表达式显示 变量赋值语句的语法为: SET = 变量列表赋值并显示的语句的语法为: SELECT = , = . 表达式列表的显示语句的语法为: SELECT , . 12 游标的使用 例 创建一个游标,逐行显示选修了计算机原理课程的学生 姓名、相应成绩和该课程的平均分。 分

9、析: 选修计算机原理课程的同学可能不止一个,需要 使用游标查询选修该门课程的学生姓名和相应的选课 成绩。 定义游标为: DECLARE myCur CURSOR FOR SELECT studentName, score FROM Student a, Course b, Score c WHERE a.studentNo=c.studentNo AND b.courseNo=c.courseNo AND courseName=计算机原理 13 游标的使用 要获得该课程的平均分,必须首先计算选课人数和总分 定义计数器和累加器变量countScore、sumScore,初始值为0 DECLARE

10、 countScore smallint, sumScore int SET countScore=0 SET sumScore=0 定义两个变量sName和score,用于接收游标集中当前游标中的学 生姓名和相应的选课成绩 DECLARE sName varchar(20), score tinyint 由于FETCH命令每次仅从游标集中提取一条记录,必须通过一个循环来 重复提取,直到游标集中的全部记录被提取 全局变量 FETCH_STATUS用于判断是否正确地从游 标集中提取到了记录; FETCH_STATUS=0表示已经正确提取到了游标记录; 循环语句为: WHILE ( FETCH_S

11、TATUS=0 ) 14 游标的使用 在循环体内: 首先显示所提取到的学生姓名和相应的选课成绩,使用语 句: SELECT sName 学生姓名, score 课程成绩 其次,计数器countScore进行计数,并将提取到的成绩累 加到变量sumScore中。语句为: SET sumScore=sumScore+score -计算总分 SET countScore=countScore+1 -计算选课人数 提取下一条游标记录: FETCH myCur INTO sName, score 重复,直到全部游标记录处理完毕,退出循环。 处理完全部游标记录后: 关闭和释放游标 对计数器countSco

12、re进行判断: 如果为0,表示没有同学选修,其平均分为0; 否则,平均分等于总分除以选课人数。 15 游标的使用 程序如下: /* 定义变量及赋初值 */ DECLARE sName varchar(20), score tinyint DECLARE sumScore int, countScore smallint SET sumScore=0 SET countScore=0 -定义游标 DECLARE myCur CURSOR FOR SELECT studentName, score FROM Student a, Course b, Score c WHERE a.studentNo=c.studentNo AND b.courseNo=c.courseNo AND courseName=计算机原理

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


客服QQ:2549714901微博号:文库网官方知乎号:文库网

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

文库网官网©版权所有2025营业执照举报