sp_cursoroption (Transact-SQL)

Gilt für:SQL Server

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

Transact-SQL-Syntaxkonventionen

Syntax

  
sp_cursoroption cursor, code, value  

Argumente

Cursor
Ist ein Handlewert, der von SQL Server generiert und von der sp_cursoropen gespeicherten Prozedur zurückgegeben wird. Cursor erfordert einen int-Eingabewert für die 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 Blobobjekte, die später mithilfe von Transact-SQL- oder DBLIB-Einrichtungen (z. B. Transact-SQL READTEXT oder DBLIB DBWRITETEXT) selektiv 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 im Wert angegebenen Namen zu. Dies wiederum ermöglicht ODBC die Verwendung positionierter UPDATE/DELETE-Anweisungen von Transact-SQL auf Cursorn, die über sp_cursoropen geöffnet werden.

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

Da mit Transact-SQL positionierte UPDATE/DELETE-Anweisungen standardmäßig in der ersten Zeile in einem fetten Cursor ausgeführt werden, sollte sp_cursor SETPOSITION verwendet werden, um den Cursor zu positionieren, 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.

Hinweis: Der ROWCOUNT-Wert kann sich seit dem von sp_cursoropen zurückgegebenen Wert geändert haben, wenn die asynchrone Auffüllung verwendet wird. Der Wert -1 wird zurückgegeben, wenn die Anzahl der Zeilen unbekannt ist.

value
Gibt den vom Code zurückgegebenen Wert an. value ist ein erforderlicher Parameter, der einen 0x0001, 0x0002 oder 0x0003 Codeeingabewert aufruft.

Hinweis

Ein Codewert von 2 ist ein Zeichenfolgendatentyp. Jeder andere Codewert , der von einem Wert eingegeben oder zurückgegeben wird, ist eine ganze Zahl.

Rückgabecodewerte

Der value-Parameter gibt möglicherweise einen der folgenden Codewerte zurück.

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

Weitere Informationen

Gespeicherte Systemprozeduren (Transact-SQL)
sp_cursor (Transact-SQL)
sp_cursoropen (Transact-SQL)