天轰穿趣味编程系列视频教程之Sql Server开发视频教程辅助笔记第19讲:SQL编程 - 游标_第1页
天轰穿趣味编程系列视频教程之Sql Server开发视频教程辅助笔记第19讲:SQL编程 - 游标_第2页
天轰穿趣味编程系列视频教程之Sql Server开发视频教程辅助笔记第19讲:SQL编程 - 游标_第3页
天轰穿趣味编程系列视频教程之Sql Server开发视频教程辅助笔记第19讲:SQL编程 - 游标_第4页
天轰穿趣味编程系列视频教程之Sql Server开发视频教程辅助笔记第19讲:SQL编程 - 游标_第5页
已阅读5页,还剩11页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、1天轰穿趣味编程系列视频教程天轰穿趣味编程系列视频教程Sql Server 开发视频教程开发视频教程SQL编程编程 - 游标游标田洪川田洪川(天轰穿天轰穿)Blog: 学号/QQ号:110535808微博: 2上节回顾 分支语句 Ifelse Casewhenthen Goto 循环 While BREAK:完全终止循环 CONTINUE:终止本轮循环,继续下一轮循环 WAITFOR Time : 定时执行 Delay: 延迟执行3本课大纲游标游标的类型选择游标类型的原则游标的生命周期实现申明游标打开游标、导航方式读取游标为变量赋值定位修改数据定位删除数据4游标概述 游标是对一组数据进行操作但

2、每一次只与一个单独的记录进行交互的方法1aa+2bb-3cc*4dd/5特征与处理方式 游标的特征 声明游标与实际执行游标是分开进行的; 在声明中命名游标,因而也命名了游标的结果集然后通过名字来引用它; 游标中的结果集一旦打开,就会一直保持打开,除非你关闭了它; 游标有一组专门的命令用来导航记录集。 游标通过以下方式来扩展结果处理: 允许定位在结果集的特定行。 从结果集的当前位置检索一行或一部分行。 支持对结果集中当前位置的行进行数据修改。 为由其他用户对显示在结果集中的数据库数据所做的更改提供不同级别的可见性支持。6游标的类型 服务器有游标(后台游标) Transact_SQL 游标是由DE

3、CLARE CURSOR 语法定义、主要用在Transact_SQL 脚本、存储过程和触发器中 API 游标支持在OLE DB, ODBC 以及DB_library 中使用游标函数,主要用在服务器上。 客户端游标(前台游标) 客户游标主要是当在客户机上缓存结果集时才使用。在客户游标中,有一个缺省的结果集被用来在客户机上缓存整个结果集。客户游标仅支持静态游标而非动态游标。7服务器服务器游标游标分类分类 静态游标静态游标:以游标打开时刻的当时状态显示结果集的游标。静态游标在游标打开时不反映对基础数据进行的更新、删除或插入。有时称它们为快照游标。 动态游标动态游标:可以在游标打开时反映对基础数据进行

4、的修改的游标。用户所做的更新、删除和插入在动态游标中加以反映。 只进游标只进游标:只进游标不支持滚动,它只支持游标从头到尾顺序提取。行只在从数据库中提取出来后才能检索。对所有由当前用户发出或由其他用户提交、并影响结果集中的行的 INSERT、UPDATE 和 DELETE 语句,其效果在这些行从游标中提取时是可见的。 由键集驱动的游标由键集驱动的游标:打开由键集驱动的游标时,该游标中各行的成员身份和顺序是固定的。由键集驱动的游标由一组唯一标识符(键)控制,这组键称为键集。键是根据以唯一方式标识结果集中各行的一组列生成的。键集是打开游标时来自符合 SELECT 语句要求的所有行中的一组键值。由键

5、集驱动的游标对应的键集是打开该游标时在 tempdb 中生成的。8游标的生命周期DECLARE 游标名称 CURSOR FORSELECT st_name,st_age,st_remark from studio where cl_id=2READ_ONLY FAST_FORWARD -增加选项只读、只进9实践 申明游标10打开与读取 打开的语法弱爆了Open 游标名 或 游标变量 读取的语法就复杂的碉堡了FETCH NEXT | PRIOR | FIRST | LAST | ABSOLUTE n | nvar | RELATIVE n | nvar from 游标名 或 游标变量INTO 变

6、量11导航方式关键字解释NEXT当前位置的下一行PRIOR当前位置的上一行FIRST第一行LAST 最后一行ABSOLUTE n | nvar 绝对定位,如果参数为正则从结果集的第一行开始往后定位,为负则从最后向前RELATIVE n | nvar 相对定位,从当前行开始先后定位,参数正后负前12定位删除修改数据-更新当前游标的语法UPDATE 表名 SET 列=值 ,n.WHERE CURRENT OF 游标名-删除当前游标的语法DELETE FROM 表WHERE CURRENT OF 游标名13选择游标类型的原则 尽可能使用默认结果集。如果需要滚动操作,将小结果集缓存在客户端,并在缓存中

7、滚动而不是要求服务器实现游标,其效率可能更高。 将整个结果集提取到客户端(如产生报表)时,使用默认设置。默认结果集是将数据传送到客户端的最快方式。 如果应用程序正在使用定位更新,则不能使用默认结果集。 默认结果集必须用于将生成多个结果集的 Transact-SQL 语句或 Transact-SQL 语句批。 动态游标的打开速度比静态游标或由键集驱动的游标的打开速度快。当打开静态游标和由键集驱动的游标时,必须生成内部临时工作表,而动态游标则不需要。 在联接中,由键集驱动的游标和静态游标的速度可能比动态游标的速度快。 如果要进行绝对提取,必须使用由键集驱动的游标或静态游标。 静态游标和由键集驱动的

8、游标增加了 tempdb 的使用率。静态服务器游标在 tempdb 中创建整个游标,由键集驱动的游标则在 tempdb 中创建键集。 如果游标在整个回滚操作期间必须保持打开状态,请使用同步静态游标,并将 CURSOR_CLOSE_ON_COMMIT 设为 OFF。14小结 游标是对一组数据进行操作但每一次只与一个单独的记录进行交互的方法 Transact-SQL 游标主要用于存储过程、触发器和 Transact-SQL 脚本中,它们使结果集的内容可用于其他 Transact-SQL 语句 放入游标中的结果集有几个显著的特征,这使得它们有别于标准的SELECT语句: 声明游标与实际执行游标是分开进行的; 在声明中命名游标,因而也命名了游标的结果集然后通过名字来引用它; 游标中的结果集一旦打开,就会一直保持打开,除非你关闭了它; 游标有一组专门的命令用来导航记录集。15思考 & 练习 总结静态、动态、只进、键集驱动四种游标。 上述四种游标,那些可以使用FIRST、LAST? 上述四种游标,那些可以使用UPDATE? 游标的优缺点描述; 默认方式申明的游标有神马特色?比如只读只进?16自学成才三步曲:一:概念知道个大概,模仿别人的实例,哪怕只有一句话;二:变着花样的来玩模仿出来的实例,严重的

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论