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)
Feedback
Feedback senden und anzeigen für