Teilen über


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 die ID =8 in einem TDS-Paket (Tabellarischer Datenstrom) 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 BLOB-Objekte, 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 von Transact-SQL positionierten UPDATE/DELETE-Anweisungen auf Cursorn, die über sp_cursoropen geöffnet werden.

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

Da Transact-SQL-positionierte UPDATE/DELETE-Anweisungen standardmäßig in der ersten Zeile eines Fettcursors ausgeführt werden, sollte sp_cursor SETPOSITION verwendet werden, um den Cursor vor dem Ausgeben der positionierten UPDATE/DELETE-Anweisung zu positionieren.
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 wurde möglicherweise seit dem von sp_cursoropen zurückgegebenen Wert geändert, wenn asynchrone Grundgesamtheit verwendet wird. Der Wert -1 wird zurückgegeben, wenn die Anzahl der Zeilen unbekannt ist.

value
Legt den von Code zurückgegebenen Wert fest. der Wert ist ein erforderlicher Parameter, der einen 0x0001-, 0x0002- oder 0x0003 Codeeingabewert aufruft.

Hinweis

Ein Codewert von 2 ist ein Zeichenfolgendatentyp. Alle anderen Codewerteingaben oder rückgaben nach Wert sind eine ganze Zahl.

Rückgabecodewerte

Der Wertparameter kann einen der folgenden Codewerte zurückgeben.

Rückgabewert Beschreibung
0x0004 SCROLLOPT
0X0005 CCOPT
0X0006 ROWCOUNT

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

Rückgabewert Beschreibung
0x0001 KEYSET
0x0002 DYNAMIC
0x0004 FORWARD_ONLY
0x0008 STATIC

Der Wertparameter 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)