sp_cursoroption (Transact-SQL)

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

主题链接图标 Transact-SQL 语法约定

语法

sp_cursoroption cursor, code, value

参数

  • cursor
    是由 SQL Server 生成并由 sp_cursoropen 存储过程返回的“句柄”值。 cursor 需要以下 int 输入值以用于执行。

  • code
    用于规定游标返回值的不同因素。 code 需要以下 int 输入值之一:

    名称

    说明

    0x0001

    TEXTPTR_ONLY

    返回某些指定文本或图像列的文本指针,而非实际数据。

    TEXTPTR_ONLY 允许将文本指针用作指向 Blob 对象的“句柄”,您以后可以使用 Transact-SQL 或 DBLIB 工具(例如,Transact-SQL READTEXT 或 DBLIB DBWRITETEXT)有选择性地检索或更新这些对象。

    如果分配了值“0”,则选择列表中的所有文本和图像列将返回文本指针而非数据。

    0x0002

    CURSOR_NAME

    将在 value 中指定的名称分配给游标。 这又允许 ODBC 对通过 sp_cursoropen 打开的游标使用 Transact-SQL 定位的 UPDATE/DELETE 语句。

    可以将此字符串指定为任何字符或 Unicode 数据类型。

    因为默认情况下,Transact-SQL 定位的 UPDATE/DELETE 语句针对 FAT 游标中的第一行运行,所以,应在发出定位的 UPDATE/DELETE 语句之前,使用 sp_cursor SETPOSITION 来定位游标。

    0x0003

    TEXTDATA

    为后续提取中的某些文本或图像列返回实际数据,而非文本指针 (即,此操作撤消了 TEXTPTR_ONLY 的效果)。

    如果为某特定列启用了 TEXTDATA,则将重新提取或刷新此行,然后将它发送回 TEXTPTR_ONLY。 借助于 TEXTPTR_ONLY,值参数是一个整数,它指定列编号,并且零值返回所有文本或图像列。

    0x0004

    SCROLLOPT

    滚动选项。 有关其他信息,请参阅本主题后面的“返回代码值”。

    0x0005

    CCOPT

    并发控制选项。 有关其他信息,请参阅本主题后面的“返回代码值”。

    0x0006

    ROWCOUNT

    结果集中的当前行数。

    注意注意

    如果正在使用异步填充,则 ROWCOUNT 可能已由于 sp_cursoropen 返回的值而发生了变化。 如果行数未知,则返回值 –1。

  • value
    指定由 code 返回的值。 value 是一个必需参数,它需要 0x0001、0x0002 或 0x0003 code 输入值。

    注意注意

    code 值 2 是字符串数据类型。 value 输入或返回的任何其他 code 值为整数。

返回代码值

value 参数可能返回以下 code 值之一。

返回值

说明

0x0004

SCROLLOPT

0X0005

CCOPT

0X0006

ROWCOUNT

value 参数返回以下 SCROLLOPT 值之一。

返回值

说明

0x0001

KEYSET

0x0002

DYNAMIC

0x0004

FORWARD_ONLY

0x0008

STATIC

value 参数返回以下 CCOPT 值之一。

返回值

说明

0x0001

READ_ONLY

0x0002

SCROLL_LOCKS

0x0004 或 0x0008

OPTIMISTIC

请参阅

参考

系统存储过程 (Transact-SQL)

sp_cursor (Transact-SQL)

sp_cursoropen (Transact-SQL)