快速业务通道

SQLServer数据库技术(82)

作者 佚名技术 来源 数据库编程 浏览 发布时间 2012-03-20
游标的读取操作皆由临时表来应答。因此对基本表的修改并不影响游标中的数据,即游标不会随着基本表内容的
改变而改变,同时也无法通过游标来更新基本表。
  • KEYSET
    指出当游标被打开时,游标中列的顺序是固定的,并且MS SQL SERVER 会在tempdb内建立一个表,该表即为KEYSET KEYSET 的键值可惟一识别游标中的某行数据。当游标拥有者或其它用户对基本表中的非键值数据进行修改时,这种变化能够反映到游标中,所以游标用户或所有者可以通过滚动游标提限这些数据。

        当其它用户增加一条新的符合所定义的游标范围的数据时,无法由此游标读到该数据。因为Transact-SQL 服务器游标不支持INSERT 语句。
        如果在游标中的某一行被删除掉,那么当通过游标来提取该删除行时,@@FETCH_STATUS 的返回值为-2。 @@FETCH_STATUS 是用来判断读取游标是否成功的系统全局变量。
        由于更新操作包括两部分:删除原数据插入新数据,所以如果读取原数据,@@FETCH_STATUS 的返回值为-2; 而且无法通过游标来读取新插入的数据。但是如果使用了WHERE CURRENT OF 子句时,该新插入行数据便是可见的。
    注意:如果基础表未包含惟一的索引或主键,则一个KEYSET游标将回复成STATIC游标。
  • DYNAMIC
    指明基础表的变化将反映到游标中,使用这个选项会最大程度上保证数据的一致性。然而,与KEYSET 和STATIC 类型游标相比较,此类型游标需要大量的游标资源。
  • FAST_FORWARD
    指明一个FORWARD_ONLY, READ_ONLY 型游标。此选项已为执行进行了优化。如果SCROLL 或FOR_UPDATE 选项被定义,则FAST_FORWARD 选项不能被定义。
  • SCROLL_LOCKS
    指明锁被放置在游标结果集所使用的数据上当。数据被读入游标中时,就会出现锁。这个选项确保对一个游标进行的更新和删除操作总能被成功执行。如果FAST_FORWARD选项被定义,则不能选择该选项。另外,由于数据被游标锁定,所以当考虑到数据并发处理时,应避免使用该选项。
  • OPTIMISTIC
    指明在数据被读入游标后,如果游标中某行数据已发生变化,那么对游标数据进行更新或删除可能会导致失败。如果使用了FAST_FORWARD 选项,则不能使用该选项。
  • TYPE_WARNING
    指明若游标类型被修改成与用户定义的类型不同时,将发送一个警告信息给客户端。
    注意:不可以将SQL_92的游标语法规则与MS SQL SERVER的游标扩展用法混合在一起使用。
  • [1] [2] 下一页

    关注此文的读者还看过:
    • 2010-4-1 18:12:45 预防非法表D99_Tmp,kill_kk的建立
    • 2008-4-23 15:53:39 SQL Server数据库超级管理员账号防护知识
    • 2008-4-11 21:37:35 SQL Server 2005数据库镜像配置脚本示例
    • 2008-4-4 9:12:54 讲解如何实现互联网上数据库的安全
    • 2008-4-1 11:07:24 SQL 2005数据库转到SQL 2000的步骤讲解
    • 2008-3-31 12:39:45 SQL Server自动生成日期加数字的序列号
    • 2008-3-31 12:39:07 SQL Server 2000的数据库容量究竟是多大
    • 2008-3-18 18:01:49 SQL Server 2005数据库的同义词Bug 讲解

    凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

    分享到: 更多

    Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

    地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

    电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

    《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号