sp_cursoroption (Transact-SQL)
适用于:SQL Server
设置游标选项或返回由 sp_cursoropen 存储过程创建的游标信息。 sp_cursoroption 通过在表格格式数据流 (TDS) 包中指定 ID = 8 来调用。
语法
sp_cursoroption cursor, code, value
参数
cursor
由 SQL Server 生成并由sp_cursoropen存储过程返回的句柄值。 游标 需要 int 输入值来执行。
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 | 结果集中的当前行数。 注意:如果使用的是异步填充,则自 sp_cursoropen 返回的值以来,ROWCOUNT 可能已更改。 如果行数未知,则返回值 -1。 |
value
指定 代码返回的值。 value 是调用0x0001、0x0002或0x0003 代码 输入值的必需参数。
注意
代码值 2 是字符串数据类型。 任何其他 代码 值输入 或值返回 的值都是整数。
返回代码值
值参数可能返回以下代码值之一。
返回值 | 说明 |
---|---|
0x0004 | SCROLLOPT |
0X0005 | CCOPT |
0X0006 | ROWCOUNT |
值参数返回以下 SCROLLOPT 值之一。
返回值 | 说明 |
---|---|
0x0001 | KEYSET |
0x0002 | DYNAMIC |
0x0004 | FORWARD_ONLY |
0x0008 | STATIC |
值参数返回以下 CCOPT 值之一。
返回值 | 说明 |
---|---|
0x0001 | READ_ONLY |
0x0002 | SCROLL_LOCKS |
0x0004 或 0x0008 | OPTIMISTIC |
另请参阅
系统存储过程 (Transact-SQL)
sp_cursor (Transact-SQL)
sp_cursoropen (Transact-SQL)
反馈
https://aka.ms/ContentUserFeedback。
即将发布:在整个 2024 年,我们将逐步淘汰作为内容反馈机制的“GitHub 问题”,并将其取代为新的反馈系统。 有关详细信息,请参阅:提交和查看相关反馈