sp_cursoroption (Transact-SQL)
适用范围:SQL Server
设置游标选项或返回存储过程创建的 sp_cursoropen
游标信息。 sp_cursoroption
通过在表格数据流(TDS)数据包中指定 ID = 8
来调用。
语法
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 是调用 0x0001
、0x0002
或0x0003
代码输入值的必需参数。
代码值为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 |