sp_cursoroption (Transact-SQL)

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

适用范围:SQL Server(SQL Server 2008 到当前版本)。

主题链接图标 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)