SQL-Server-2012数据库技术与应用11.pptxVIP

  1. 1、本文档共31页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多

第11章游标SQLServer2012数据库技术与应用

目录11.1游标的概念11.2用DECLARE语句定义游标11.3用OPEN语句打开游标11.4用FETCH语句从游标中提取数据11.5用CLOSE语句关闭游标11.6用DEALLOCATE语句释放游标

11.1游标的概念游标的主要用途就是在T-SQL脚本程序、存储过程、触发器中对SELECT语句返回的结果集进行逐行逐字段处理,把一个完整的数据表按行分开,一行一行地逐一提取记录,并从这一记录行中逐一提取各项数据。游标与变量类似,必须先定义后使用。游标的使用过程是:定义声明游标→打开游标→从游标中提取记录并分离数据→关闭游标→释放游标。

11.2用DECLARE语句定义游标基于SQL-92标准的DECLARE语句,语法格式如下:DECLARE游标名[INSENSITIVE][SCROLL]CURSORFORSELECT语句[FOR{READONLY|UPDATA[OF字段名[,…n]]}]

11.2用DECLARE语句定义游标INSENSITIVE表示定义游标时自动在系统的tempdb数据库中创建一个临时表来存储游标使用的数据,在游标使用过程中基表数据改变时不会影响游标使用的数据,但该游标的数据不允许修改。省略该项表示游标直接从基表中取得数据,即游标使用的数据将随基表数据的变化而动态变化。SCROLL表示该游标可以在FETCH语句中任意指定数据的提取方式,省略该项表示该游标仅支持NEXT顺序提取方式。

11.2用DECLARE语句定义游标SELECT语句指定该游标使用的结果集,但不允许使用COMPUTE或INTO子句。READONLY表示只读,该游标中的数据不允许修改,即不允许在UPDATE或DELETE语句中引用该游标。UPDATA[OF字段名[,…n]]表示在该游标内可以更新基本表的指定字段,省略字段名列表表示可以更新所有字段。

11.2用DECLARE语句定义游标T-SQL的DECLARE语法格式如下:DECLARE游标名CURSOR[FORWARD_ONLY|SCROLL][STATIC|KEYSET|DYNAMIC|FAST_FORWARD][READ_ONLY|OPTIMISTIC][TYPE_WARNING]FORSELECT语句[FORUPDATE[OF字段名[,…n]]]

11.2用DECLARE语句定义游标说明如下:FORWARD_ONLY指定该游标为顺序结果集,只能用NEXT向后方式顺序提取记录。SCROLL指定该游标为滚动结果集,可以使用向前、向后、定位方式提取记录。STATIC与INSENSITIVE含义相同,在系统tempdb数据库中创建临时表存储游标使用的数据,即游标不会随基本表内容而变化,同时也无法通过游标来更新基本表。

11.2用DECLARE语句定义游标KEYSET指定游标中列的顺序是固定的,并且在tempdb内建立一个KEYSET表,基本表数据修改时能反映到游标中。如果基本表添加符合游标的新记录,则该游标无法读取(但其他语句使用WHERECURRENTOF子句可对游标中新添加的记录数据进行修改)。如果游标中的一行被删除掉,则用游标提取时@@FETCH_STATUS的返回值为-2。DYNAMIC指定游标中的数据将随基本表而变化,但需要大量的游标资源。FAST_FORWARD指定启用了性能优化的FORWARD_ONLY、READ_ONLY游标。如果指定FAST_FORWARD,则不能也指定SCROLL或FOR_UPDATE。FAST_FORWARD和FORWARD_ONLY是互斥的;如果指定一个,则不能指定另一个。

11.2用DECLARE语句定义游标Read_Only指不能通过游标对数据进行删改。OPTIMISTIC指明若游标中的数据已发生变化,则对游标数据进行更新或删除时可能会导致失败。TYPE_WARNING指定若游标中的数据类型被修改成其他类型时,给客户端发送警告。若省略FORWARD_ONLY|SCROLL,则不使用STATIC、KEYSET和DYNAMIC时默认为FORWARD_ONLY游标,使用STATIC、KEYSET或DYNAMIC之一则默认为SCROLL游标。若省略READ_ONLY|OPTIMISTIC参数,则默认选项如下。如果未使用UPDATE参数不支持更新,则游标为READ_ONLY。

11.2用DECLARE语句定义游标STATIC和FAST_FORWARD类型游标默认为READ_ON

文档评论(0)

知识改变命运 + 关注
实名认证
文档贡献者

爱好打球

1亿VIP精品文档

相关文档