第8章节游标、事务和锁.pptVIP

  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文档。上传文档
查看更多
第8章节游标、事务和锁

SQL Server 2000 游标 游标(Cursor)是一个用来保存“数据集” 的容器。可以对其中的数据以记录为单位(利用循环技术)一行、一行地处理。 游标主要用在服务器上,由从客户端发送给服务器的Transact_SQL 语句或是批处理存储过程触发器中的Transact_SQL 进行管理。 Transact_SQL 游标不支持提取数据块或多行数据。 对游标的处理过程 DECLARE 游标 OPEN 游标 从一个游标中FETCH 信息 CLOSE 或DEALLOCATE 游标 声明游标 定义游标的滚动行为和用于生成游标对其进行操作的结果集的查询。 声明一个游标主要包括以下主要内容: 游标名字 数据来源(表和列) 选取条件 属性(仅读或可修改) 声明游标 SQL-92语法格式: DECLARE cursor_name [INSENSITIVE] [SCROLL] CURSOR FOR select_statement [FOR {READ ONLY | UPDATE [OF column_name [,...n]]}] 其中: cursor_name 指游标的名字 INSENSITIVE:表明会将游标定义所选取出来的数据记录存放在一临时表内(建立在tempdb 数据库下) SCROLL:表明所有的提取操作,如FIRST、 LAST、 PRIOR、 NEXT、 RELATIVE、 ABSOLUTE都可用。如果不使用该保留字,那么只能进行NEXT 提取操作。 select_statement:是定义结果集的SELECT 语句 READ ONLY:表明不允许游标内的数据被更新,尽管在缺省状态下游标是允许更新的。 UPDATE [OF column_name[,…n]]:定义在游标中可被修改的列,如果不指出要更新的列,那么所有的列都将被更新。 声明游标 当游标被成功创建后,游标名成为该游标的惟一标识。如果在以后的存储过程触发器或Transact_SQL 脚本中使用游标必须指定该游标的名字 声明游标 例: declare cur_roysched cursor for select lorange , hirange , royalty from roysched where title_id=’BU1032’ 扩展的游标声明语法 Transact-SQL 扩展语法格式: DECLARE cursor_name CURSOR [LOCAL | GLOBAL] [FORWARD_ONLY | SCROLL] [STATIC | KEYSET | DYNAMIC | FAST_FORWARD] [READ_ONLY | SCROLL_LOCKS | OPTIMISTIC] [TYPE_WARNING] FOR select_statement [FOR UPDATE [OF column_name [,...n]]] 其中: LOCAL:定义游标的作用域仅限在其所在的存储过程、触发器或批处理中。当建立游标的存储过程执行结束后,游标会被自动释放。因此我们常在存储过程中使用OUTPUT 保留字,将游标传递给该存储过程的调用者。这样在存储过程执行结束后可以引用该游标变量。 GLOBAL:定义游标的作用域是整个会话层会话层,指用户的连接时间,它包括从用户登录到SQLSERVER 到脱离数据库的整段时间。选择GLOBAL 表明,在整个会话层的任何存储过程、触发器或批处理中都可以使用该游标。只有当用户脱离数据库时该游标才会被自动释放。 标准游标 例: declare cur_authors cursor for select au_id, au_lname, au_fname, phone, address, city, state, contract from authors 读游标 例: declare cur_authors cursor for select au_lname, au_fname, phone, address, city, state from authors for read only 更新游标 例: declare cur_authors cursor for select au_lname, au_fname from authors for update 打开游标 游标在声明以后,如果要从游标中读取数据必须打开游标。 打开一个Transact-SQL服务器游标使用OPEN 命令其语法规则为: OPEN { { [GLOBAL] cursor_name } | cursor_variable_name} 其中: GLOBAL:定义游标为一全局游标 cu

您可能关注的文档

文档评论(0)

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

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

1亿VIP精品文档

相关文档