游标类型(数据库引擎)

ODBC 和 ADO 定义了 Microsoft SQL Server 支持的四种游标类型。已经扩展了 DECLARE CURSOR 语句,这样您就可以为 Transact-SQL 游标指定四种游标类型。这些游标检测结果集变化的能力和消耗资源(如在 tempdb 中所占的内存和空间)的情况各不相同。游标仅当尝试再次提取行时才会检测到行的更改。数据源没有办法通知游标当前提取行的更改。游标检测这些变化的能力也受事务隔离级别的影响。

SQL Server 支持的四种 API 服务器游标类型是:

  • 静态游标

  • 动态游标

  • 只进游标

  • 由键集驱动的游标

静态游标在滚动期间很少或根本检测不到变化,但消耗的资源相对很少。动态游标在滚动期间能检测到所有变化,但消耗的资源却较多。由键集驱动的游标介于二者之间,能检测到大部分变化,但比动态游标消耗更少的资源。

尽管数据库 API 游标模式将只进游标看成一种独立的游标类型,但 SQL Server 却不这样。SQL Server 将只进和滚动都作为能应用到静态游标、由键集驱动的游标和动态游标的选项。