sp_cursoroption (Transact-SQL)

Legt Cursoroptionen fest oder gibt von der gespeicherten Prozedur sp_cursoropen erstellte Cursorinformationen zurück. sp_cursoroption wird aufgerufen, indem ID = 8 in einem Tabular Data Stream-Paket (TDS) angegeben wird.

Themenlink (Symbol)Transact-SQL-Syntaxkonventionen

Syntax

        sp_cursoroption 
        cursor
        , 
        code
        , 
        value
      

Argumente

  • cursor
    Ein Handlewert, der von SQL Server generiert und von der gespeicherten sp_cursoropen-Prozedur zurückgegeben wird. cursor erfordert einen int-Eingabewert zur Ausführung. 

  • code
    Wird verwendet, um verschiedene Faktoren der Cursorrückgabewerte festzulegen. code erfordert einen der folgenden int-Eingabewerte:

    Wert

    Name

    Beschreibung

    0x0001

    TEXTPTR_ONLY

    Gibt für bestimmte angegebene Text- oder Bildspalten den Textzeiger, nicht aber die tatsächlichen Daten zurück.

    TEXTPTR_ONLY ermöglicht die Verwendung von Textzeigern als Handles für BLOB-Objekte, die später selektiv mit Transact-SQL- oder DBLIB-Funktionen (z. B. Transact-SQL READTEXT oder DBLIB DBWRITETEXT) abgerufen oder aktualisiert werden können.

    Wenn der Wert "0" zugewiesen wird, geben alle Text- und Bildspalten in der Auswahlliste Textzeiger anstelle von Daten zurück.

    0x0002

    CURSOR_NAME

    Weist dem Cursor den in value angegebenen Namen zu. Dies ermöglicht ODBC wiederum, von Transact-SQL positionierte UPDATE/DELETE-Anweisungen für Cursor zu verwenden, die mithilfe von sp_cursoropen geöffnet wurden.

    Die Zeichenfolge kann als beliebiges Zeichen oder Unicode-Datentyp angegeben werden.

    Da sich von Transact-SQL positionierte UPDATE/DELETE-Anweisungen standardmäßig auf die erste Zeile in einem Fat Cursor auswirken, sollte sp_cursor-SETPOSITION zur Positionierung des Cursors verwendet werden, bevor die positionierte UPDATE/DELETE-Anweisung ausgegeben wird.

    0x0003

    TEXTDATA

    Gibt für bestimmte Text- oder Bildspalten in nachfolgenden Abrufvorgängen die tatsächlichen Daten und nicht den Textzeiger zurück (d. h., der Effekt von TEXTPTR_ONLY wird aufgehoben).

    Wenn TEXTDATA für eine bestimmte Spalte aktiviert ist, wird die Zeile erneut abgerufen oder aktualisiert und kann dann auf TEXTPTR_ONLY zurückgesetzt werden. Wie bei TEXTPTR_ONLY ist der Wertparameter eine ganze Zahl, die die Spaltennummer angibt; beim Wert 0 (null) werden alle Text- oder Bildspalten zurückgegeben.

    0x0004

    SCROLLOPT

    Option für den Bildlauf. Weitere Informationen finden Sie weiter unten in diesem Thema unter "Rückgabecodewerte".

    0x0005

    CCOPT

    Option für die Parallelitätssteuerung. Weitere Informationen finden Sie weiter unten in diesem Thema unter "Rückgabecodewerte".

    0x0006

    ROWCOUNT

    Die Anzahl der aktuell im Resultset enthaltenen Zeilen.

    HinweisHinweis
    Wenn die asynchrone Auffüllung verwendet wird, hat sich der ROWCOUNT-Wert möglicherweise geändert, seit der Wert von sp_cursoropen zurückgegeben wurde. Der Wert -1 wird zurückgegeben, wenn die Anzahl der Zeilen unbekannt ist.
  • value
    Legt den von code zurückgegebenen Wert fest. value ist ein erforderlicher Parameter, der den code-Eingabewert 0x0001, 0x0002 oder 0x0003 erfordert.

    HinweisHinweis

    Der code-Wert 2 ist ein String-Datentyp. Jeder andere von value eingegebene oder zurückgegebene code-Wert ist eine ganze Zahl.

Rückgabecodewerte

Der value-Parameter kann einen der folgenden code-Werte zurückgeben.

Rückgabewert

Beschreibung

0x0004

SCROLLOPT

0X0005

CCOPT

0X0006

ROWCOUNT

Der value-Parameter gibt einen der folgenden SCROLLOPT-Werte zurück.

Rückgabewert

Beschreibung

0x0001

KEYSET

0x0002

DYNAMIC

0x0004

FORWARD_ONLY

0x0008

STATIC

Der value-Parameter gibt einen der folgenden CCOPT-Werte zurück.

Rückgabewert

Beschreibung

0x0001

READ_ONLY

0x0002

SCROLL_LOCKS

0x0004 oder 0x0008

OPTIMISTIC