- 1、本文档共16页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
单元 创建与使用游标
单元13 创建与使用游标 济宁职业技术学院 数据库课程组 学习目标 【知识目标】 理解游标的基本概念。 掌握服务器游标的创建和使用步骤方法。 掌握游标与其他Transcact-SQL配合使用的方法。 【技能目标】 会根据需要创建和使用游标。 会在存储过程中使用游标。 任务概述 小李查看学生选课数据库中的信息后,现在提出希望逐行显示查询结果,并希望将查询结果能保存在变量中,以便使用程序进行其它的处理。 在学生选课数据库Xk中声明游标、打开游标、读取游标位置的数据、关闭游标及释放游标。 引例 游标概述 游标:由查询结果集和游标位置(可以理解为指向当前数据行的指针)所构成。 使用游标对查询结果集可进行逐行处理: 1、在结果集中定位特定的数据行 2、对结果集中游标位置的数据行进行处理(显示、更新、删除) SQL Server支持两种类型的游标 : (1)Transcact-SQL服务器游标 (2)数据库应用程序编程接口(API)游标函数。 本书只介绍T-SQL服务器游标。 T-SQL服务器游标 使用游标的步骤: 声明游标 打开游标 读取游标位置的数据 修改或删除游标位置的数据—可以和其他T-SQL语句配合灵活使用 关闭游标(与打开游标配对) 释放游标(与声明游标配对,此时释放分配给游标的所有资源) 相关语句 声明游标 DECLARE cursor_name CURSOR [FORWORD_ONLY|SCROLL] FOR select_statements [FOR {READ ONLY|UPDATE}] 打开游标 OPEN cursor_name 读取游标位置数据 FETCH [NEXT|PRIOR|FIRST|LAST] FROM cursor 关闭游标 CLOSE cursor_name 删除游标 DEALLOCATE cursor_name 创建游标 【问题13.1】声明一个名为CrsCourse的游标,该游标从Course表中查询所有数据行并逐行显示;将课程编号为‘002’的数据行的限选人数修改为22。 USE Xk GO DECLARE CrsCourse CURSOR FOR SELECT * FROM Course ORDER BY CouNo GO OPEN CrsCourse FETCH NEXT FROM CrsCourse --001的课程 FETCH NEXT FROM CrsCourse --002的课程 UPDATE Course SET LimitNum=22 WHERE CURRENT OF CrsCourse --修改当前数据行002的课程 DELETE FROM Course WHERE CURRENT OF CrsCourse --删除当前数据行002的课程 CLOSE CrsCourse DEALLOCATE CrsCourse 使用FETCH将值存入变量 如果需要判断FETCH数据行中的某列数据如课程号是否为所需要的值,就需要将FETCH到的数据行保存到变量中,且在FETCH之前须先声明这些变量。 FETCH到变量的格式: FETCH [NEXT|PRIOR|FIRST|LAST] FROM cursor INTO @variable_name, … 说明:NEXT|PRIOR|FIRST|LAST见239页说明。默认为NEXT;其它的则需要将游标声明为SCROLL。 【问题13.2】使用FETCH将值存入变量。 使用@@FETCH_STATUS的游标 全局变量@@FETCH_STATUS返回FETCH成功与否,其值为int: 0:FETCH语句成功 -1:FETCH语句失败或此行不在结果集中 -2:被提取的行不存在 【问题13.3】编写程序,使用游标逐行显示查询结果集(遍历)的每一行,使用@@FETCH_STATUS作为循环控制变量。 小结:游标适用于需要遍历结果集这样的处理过程。它允许对结果集中的每一行执行不同的操作,而不是整个结果集执行同一操作的情况。 练一练 使用游标遍历Course表,输出报名人数最多的课程的信息(课程编号、课程名称、报名人数) 使用游标遍历Course表,输出总报名人数最多的课程类的信息(课程类别、该类课程的总报名人数) 游标配合存储过程使用 在实际应用中,通常配合存储过程使用游标,游标特别适合需遍历表这样的处理过程。如果能合理地将客户端循环处理表的代码转换为存储过程并使用游标来处理,将大大提高数据的处理速度。 【问题】:改写【问题13.3】程序为带有游标的存储过程。 游标配合存储过程使用 【问题】创建带有游标的存储过程,更新Course表中每门课程的报名人数(Wi
您可能关注的文档
- 决策树与Adaboost.ppt
- 冶金原理 完整版.doc
- 冲浪中国嘉华赞助方案.ppt
- 冬施方案彩条布.doc
- 减肥的最好方法 减肥大秘诀 减肥食谱大全.doc
- 几何画板培训讲义.doc
- 出版理论与实务.doc
- 减掉内脏脂肪才能真正瘦 方法轻松解决.doc
- 分布式文件系统设计.ppt
- 分子筛珠海.ppt
- 中考语文复习专题二整本书阅读课件.ppt
- 中考语文复习积累与运用课件.ppt
- 2025年初中学业水平考试模拟试题(二)课件.ppt
- 四川省2015届理科综合试题48套第12套.pdf
- 【课件】战争与和平—美术作品反映战争+课件-2024-2025学年高中美术湘美版(2019)美术鉴赏.pptx
- 【课件】青春牢筑国家安全防线 课件 2024-2025学年高中树立总体国家安全观主题班会.pptx
- 【课件】原始人的创造+课件高中美术湘美版(2019)美术鉴赏.pptx
- 上海证券-美容护理行业周报:流量加快去中心化,强运营头部品牌影响较小 -2024-.pdf
- T_CSEIA 1005—2023_能源工业互联网平台数据治理要求.pdf
- T_CDSA 504.16-2023_急流救援技术培训与考核要求.pdf
文档评论(0)