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 TDS (Tabular Data Stream)-Paket angegeben wird.
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.
Hinweis 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.Hinweis 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 |