sp_cursoroption (Transact-SQL)

适用范围:SQL Server

设置游标选项或返回存储过程创建的 sp_cursoropen 游标信息。 sp_cursoroption 通过在表格数据流(TDS)数据包中指定 ID = 8 来调用。

Transact-SQL 语法约定

语法

sp_cursoroption cursor , code , value
[ ; ]

参数

cursor

handle SQL Server 生成的值,并由存储过程返回sp_cursoropen游标参数为 int,不能NULL为 。

code

用于规定游标返回值的不同因素。 代码参数为 int,必须是以下值之一:

名称 描述
0x0001 TEXTPTR_ONLY 返回某些指定文本或图像列的文本指针,而非实际数据。

TEXTPTR_ONLY 允许将文本指针用作 Blob 对象的句柄 ,这些对象以后可以使用 Transact-SQL 或 DBLIB 设施(例如 Transact-SQL READTEXT 或 DBLIB DBWRITETEXT)选择性地检索或更新这些对象。
如果分配了值 0 ,则选择列表中的所有文本和图像列将返回文本指针,而不是数据。
0x0002 CURSOR_NAME 将值中指定的名称分配给游标,该名称允许 ODBC 在通过打开sp_cursoropen的游标上使用 Transact-SQL 定位UPDATE/DELETE语句。

可以将此字符串指定为任何字符或 Unicode 数据类型。
由于 Transact-SQL 定位 UPDATE/DELETE 语句默认在胖游标的第一行上运行, sp_cursor SETPOSITION 因此应在发出定位 UPDATE/DELETE 语句之前使用该游标定位游标。
0x0003 TEXTDATA 返回后续提取时特定文本或图像列的实际数据,而不是文本指针(即,这会撤消其效果 TEXTPTR_ONLY)。

如果 TEXTDATA 为特定列启用了该行,则会重新加载或刷新该行,然后可以重新设置为 TEXTPTR_ONLY。 与上 TEXTPTR_ONLY一样,值参数是一个整数,指定列号,零值返回所有文本或图像列。
0x0004 SCROLLOPT 滚动选项。 有关详细信息,请参阅 返回代码值
0x0005 CCOPT 并发控制选项。 有关详细信息,请参阅 返回代码值
0x0006 ROWCOUNT 结果集中的当前行数。

注意:ROWCOUNT使用异步填充时返回sp_cursoropen的值可能已更改。 如果行数未知,则返回该值 -1

value

指定代码返回的值。 value 是调用 0x00010x00020x0003代码输入值的必需参数。

代码值为2字符串数据类型。 值输入或返回的任何其他代码都是 int

返回代码值

value 参数可能会返回以下代码值之一。

返回值 说明
0x0004 SCROLLOPT
0X0005 CCOPT
0X0006 ROWCOUNT

参数返回以下SCROLLOPT值之一。

返回值 说明
0x0001 KEYSET
0x0002 DYNAMIC
0x0004 FORWARD_ONLY
0x0008 STATIC

参数返回以下CCOPT值之一。

返回值 说明
0x0001 READ_ONLY
0x0002 SCROLL_LOCKS
0x0004 or 0x0008 OPTIMISTIC