Freigeben über


sp_cursorprepexec (Transact-SQL)

Kompiliert einen Plan für die gesendete Cursoranweisung oder den gesendeten Batch, erstellt dann den Cursor und füllt ihn auf. sp_cursorprepexec vereint die Funktionen von sp_cursorprepare und sp_cursorexecute. Diese Prozeduren werden aufgerufen, indem ID =5 in einem Tabular Data Stream-Paket (TDS) angegeben wird.

Themenlink (Symbol) Transact-SQL-Syntaxkonventionen

Syntax

sp_cursorprepexec prepared handle OUTPUT, cursor OUTPUT, params , statement , options
    [ , scrollopt [ , ccopt [ , rowcount ] ] ]

Argumente

  • prepared handle
    Ein von SQL Server generierter, vorbereiteter Handlebezeichner. prepared handle ist erforderlich und gibt int zurück.

  • cursor
    Der von SQL Server generierte Cursorbezeichner. cursor ist ein erforderlicher Parameter, der für alle nachfolgenden Prozeduren angegeben werden muss, die sich auf diesen Cursor auswirken, z. B. sp_cursorfetch.

  • 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 Eingabewert vom Typ ntext, nchar oder nvarchar erfordert.

    HinweisHinweis

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

  • statement
    Definiert das Resultset des Cursors. Der statement-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

    Da es möglich ist, dass die angeforderte Option nicht für den von <stmt> definierten Cursor geeignet ist, dient dieser Parameter sowohl als Eingabe- als auch als Ausgabeparameter. In solchen Fällen weist SQL Server einen entsprechenden Typ zu und ändert diesen Wert.

  • 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.

  • rowcount
    Ein optionaler Parameter, der die Anzahl der mit AUTO_FETCH zu verwendenden Fetchpufferzeilen angibt. Der Standardwert ist 20 Zeilen. Das Verhalten von rowcount ist unterschiedlich, je nachdem, ob der Parameter als Eingabewert oder Rückgabewert zugewiesen wird.

    Als Eingabewert

    Als Rückgabewert

    Wenn AUTO_FETCH mit FAST_FORWARD-Cursorn angegeben wird, stellt rowcount die Anzahl der Zeilen dar, die im Fetchpuffer platziert werden sollen.

    Stellt die Anzahl der Zeilen im Resultset dar. Wenn der scrollopt-Wert AUTO_FETCH angegeben wird, gibt rowcount die Anzahl von Zeilen zurück, die in den Fetchpuffer abgerufen wurden.

Rückgabecodewerte

Wenn params einen NULL-Wert zurückgibt, wird die Anweisung nicht parametrisiert.

Siehe auch

Verweis

sp_cursoropen (Transact-SQL)

sp_cursorexecute (Transact-SQL)

sp_cursorprepare (Transact-SQL)

sp_cursorfetch (Transact-SQL)

Gespeicherte Systemprozeduren (Transact-SQL)