Exportieren (0) Drucken
Alle erweitern

sp_cursorprepare (Transact-SQL)

Kompiliert die Cursoranweisung oder den Batch in einen Ausführungsplan, erstellt jedoch keinen Cursor. Die kompilierte Anweisung kann später von sp_cursorexecute verwendet werden. Diese mit sp_cursorexecute gekoppelte Prozedur verfügt über die gleiche Funktion wie sp_cursoropen, ist jedoch in zwei Phasen unterteilt. sp_cursorprepare wird aufgerufen, indem ID = 3 in einem Tabular Data Stream-Paket (TDS) angegeben wird.

Themenlink (Symbol) Transact-SQL-Syntaxkonventionen


        sp_cursorprepare 
        prepared_handle
         OUTPUT, 
        params
         , 
        stmt
         , 
        options
            [ , scrollopt[ , ccopt]]

prepared_handle

Ein von SQL Server generierter, vorbereiteter Handlebezeichner, der einen ganzzahligen Wert zurückgibt.

HinweisHinweis

prepared_handle wird anschließend an eine sp_cursorexecute-Prozedur übergeben, um einen Cursor zu öffnen. Nach der Erstellung bleibt ein Handle so lange bestehen, bis Sie sich abmelden oder es über die sp_cursorunprepare-Prozedur explizit entfernen.

params

Identifiziert parametrisierte Anweisungen. Die params-Definition der Variablen wird in der Anweisung an die Stelle der Parametermarkierungen gesetzt. params ist ein erforderlicher Parameter, der einen der Eingabewerte ntext, nchar oder nvarchar erfordert. Geben Sie einen NULL-Wert ein, wenn die Anweisung nicht parametrisiert ist.

HinweisHinweis

Verwenden Sie eine ntext-Zeichenfolge als Eingabewert, wenn stmt parametrisiert ist und der scrollopt-Wert PARAMETERIZED_STMT die Einstellung ON hat.

stmt

Definiert das Resultset des Cursors. Der stmt-Parameter ist erforderlich und erfordert einen der Eingabewerte ntext, nchar oder nvarchar.

HinweisHinweis

Die Regeln zum Angeben des stmt-Werts entsprechen denen für sp_cursoropen, mit der Ausnahme, dass der Datentyp der stmt-Zeichenfolge ntext lauten muss.

options

Ein optionaler Parameter, der eine Beschreibung der Spalten im Cursorresultset zurückgibt. options erfordert den folgenden int-Eingabewert.

Wert

Beschreibung

0x0001

RETURN_METADATA

scrollopt

Option für den Bildlauf. scrollopt ist ein optionaler Parameter, der einen der folgenden int-Eingabewerte erfordert.

Wert

Beschreibung

0x0001

KEYSET

0x0002

DYNAMIC

0x0004

FORWARD_ONLY

0x0008

STATIC

0x10

FAST_FORWARD

0x1000

PARAMETERIZED_STMT

0x2000

AUTO_FETCH

0x4000

AUTO_CLOSE

0x8000

CHECK_ACCEPTED_TYPES

0x10000

KEYSET_ACCEPTABLE

0x20000

DYNAMIC_ACCEPTABLE

0x40000

FORWARD_ONLY_ACCEPTABLE

0x80000

STATIC_ACCEPTABLE

0x100000

FAST_FORWARD_ACCEPTABLE

Weil der angeforderte Wert nicht für den von stmt definierten Cursor geeignet sein könnte, dient dieser Parameter sowohl als Eingabe- als auch als Ausgabeparameter. In solchen Fällen weist SQL Server einen passenden Wert zu.

ccopt

Option für die Parallelitätssteuerung. ccopt ist ein optionaler Parameter, der einen der folgenden int-Eingabewerte erfordert.

Wert

Beschreibung

0x0001

READ_ONLY

0x0002

SCROLL_LOCKS (vormals bekannt als LOCKCC)

0x0004

OPTIMISTIC (vormals bekannt als OPTCC)

0x0008

OPTIMISTIC (vormals bekannt als OPTCCVAL)

0x2000

ALLOW_DIRECT

0x4000

UPDT_IN_PLACE

0x8000

CHECK_ACCEPTED_OPTS

0x10000

READ_ONLY_ACCEPTABLE

0x20000

SCROLL_LOCKS_ACCEPTABLE

0x40000

OPTIMISTIC_ACCEPTABLE

0x80000

OPTIMISITC_ACCEPTABLE

Wie bei scrollpt kann SQL Server einen anderen Wert als den angeforderten zuweisen.

Der RPC-Statusparameter entspricht einem der folgenden Werte:

Wert

Beschreibung

0

Erfolg

0x0001

Fehler

1FF6

Es konnten keine Metadaten zurückgegeben werden.

HinweisHinweis
Der Grund liegt darin, dass die Anweisung kein Resultset erzeugt; es handelt sich z. B. um eine INSERT-Anweisung oder DDL-Anweisung.

Wenn stmt parametrisiert und der scrollopt-Wert PARAMETERIZED_STMT auf ON festgelegt ist, weist die Zeichenfolge das folgende Format auf:

{ <Name der lokalen Variablen><Datentyp> } [ ,…n ]

Community-Beiträge

HINZUFÜGEN
Anzeigen:
© 2015 Microsoft