SQL Server数据库技术及应用(第八讲)——游标事务与锁管理.pptVIP

SQL Server数据库技术及应用(第八讲)——游标事务与锁管理.ppt

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

第8讲 游标、事务和锁 游标引例 游标概述 可以将游标看作一种特殊的指针,它可以指向与它相关联的结果集中的任意一行,以便对当前位置的行进行处理。 游标提供了对一个结果集进行逐行处理的能力: 在结果集中定位特定行 从结果集的当前位置检索行 支持对结果集中当前位置的行进行数据处理(修改/删除) 使用游标的步骤 声明游标 打开游标 处理数据(读取/修改/删除)——可以和其他T-SQL语句配合灵活使用 关闭游标(与打开游标配对) 删除游标(与声明游标配对,此时释放分配给游标的所有资源) 【问题】游标基本使用的例子 相关语法格式 声明游标 语法如下: declare cursor_name cursor [forward_only | scroll] for select_statement [for {read only | update [of column [,…n] ] } ] 使用open语句填充游标。 open cursor_name 使用fetch语句,从结果集中检索单独的行。 相关语法格式 语法如下: fetch [next|prior|first|last] from cursor_name [into @variable_name [,…n] ] Next:返回紧跟当前行之后的结果行,并且当前行递增为结果行。 Prior:返回紧跟当前行前面的结果行,并且当前行递减为结果行。 First:返回游标中的第一行并将其作为当前行。 Last:返回游标中的最后一行并将其作为当前行。 相关语法格式 使用update或delete语句修改行。 如果游标定义为可更新的,那么当定位在游标中的某行上时,可以执行更新或删除操作。 更新或删除针对在游标中建立当前行的基表,这称为定位更新。 可以使update或delete语句中的where current of cursor_name子句执行定位更新。 相关语法格式 使用close语句关闭游标。 语法如下: close cursor_name 使用deallocate语句从当前的会话中移除游标的引用。该过程完全释放分配给游标的所有资源。 语法如下: deallocate cursor_name 例题一 声明一个名为crscourse的游标,该游标从course表中检索所有的记录。 声明游标: use xk go declare crscourse cursor for select * from course order by couno 例题一 打开此游标: open crscourse 从游标中检索行: fetch next from crscourse 例题一 例题一 例题一 例题一 例题一 例题一 例题一 例题一 例题一 例题一 例题一 将当前记录的限选人数更改为22: update course set limitnum=22 where current of crscourse 例题一 例题一 删除当前记录 delete from course where current of crscourse 关闭游标 close crscourse 释放游标 deallocate crscourse 例题二 使用fetch将值存入变量。 use xk go declare @couno varchar(3), @couname varchar(30) declare crscourse cursor scroll for select couno ,couname from course order by couno open crscourse fetch next from crscourse into @couno,@couname print ‘课程号: ’@couno+ ‘课程名称: ’+@couname 例题二 如果遍历整个结果集? 使用@@fetch_status: 该全局变量/配置函数返回被最后FETCH语句执行的游标的状态,返回类型为int: 0:FETCH语句成功 -1:FETCH语句失败或此行不在结果集中 -2:被提取的行不存在 例题三 use xk go declare @couno varchar(3), @couname varchar(20) declare crscourse cursor for select couno,couname from course order by couno 例题三 open crscourse fetc

文档评论(0)

xcs88858 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

版权声明书
用户编号:8130065136000003

1亿VIP精品文档

相关文档