游标行为

适用于:SQL Server Azure SQL 数据库 Azure SQL 托管实例 Azure Synapse Analytics Analytics 平台系统(PDW)

ODBC 支持通过指定游标的可滚动性和敏感性来指定其行为的 ISO 选项。 通过在调用 SQLSetStmtAttr 时设置SQL_ATTR_CURSOR_SCROLLABLE和SQL_ATTR_CURSOR_SENSITIVITY选项来指定这些行为。 SQL Server Native Client ODBC 驱动程序通过请求具有以下特征的服务器游标来实现这些选项。

游标行为设置 请求的服务器游标的特征
SQL_SCROLLABLE 和 SQL_SENSITIVE 由键集驱动的游标和基于版本的乐观并发
SQL_SCROLLABLE 和 SQL_INSENSITIVE 静态游标和只读并发
SQL_SCROLLABLE 和 SQL_UNSPECIFIED 静态游标和只读并发
SQL_NONSCROLLABLE 和 SQL_SENSITIVE 只进游标和基于版本的乐观并发
SQL_NONSCROLLABLE 和 SQL_INSENSITIVE 默认结果集(只进,只读)
SQL_NONSCROLLABLE 和 SQL_UNSPECIFIED 默认结果集(只进,只读)

基于版本的乐观并发需要 基础表中的时间戳 列。 如果对没有 时间戳 列的表请求基于版本的乐观并发控制,则服务器使用基于值的乐观并发。

可滚动性

SQL_ATTR_CURSOR_SCROLLABLE设置为SQL_SCROLLABLE时,游标支持 SQLFetchScroll 的 FetchOrientation 参数的所有不同值。 当SQL_ATTR_CURSOR_SCROLLABLE设置为SQL_NONSCROLLABLE时,游标仅支持 SQL_FETCH_NEXT的 FetchOrientation 值。

敏感性

将 SQL_ATTR_CURSOR_SENSITIVITY 设置为 SQL_SENSITIVE 时,游标可以反映由当前用户所做的或由其他用户提交的数据修改。 将 SQL_ATTR_CURSOR_SENSITIVITY 设置为 SQL_INSENSITIVE 时,游标不能反映数据修改。

另请参阅

使用游标(ODBC)游标属性