Condividi tramite


sp_cursorprepexec (Transact-SQL)

Compila un piano per il batch o l'istruzione di cursore inviata, quindi crea e popola il cursore. sp_cursorprepexec consente di combinare le funzioni di sp_cursorprepare e sp_cursorexecute. Questa routine viene richiamata specificando ID = 5 in un pacchetto del flusso TDS.

Si applica a: SQL Server (da SQL Server 2008 a versione corrente).

Icona di collegamento a un argomento Convenzioni della sintassi Transact-SQL

Sintassi

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

Argomenti

  • prepared handle
    Identificatore dell'handle preparato generato da SQL Server. prepared handle è obbligatorio e restituisce int.

  • cursor
    Identificatore del cursore generato da SQL Server. cursor è un parametro obbligatorio che deve essere fornito in tutte le routine successive che agiscono su questo cursore, ad esempio sp_cursorfetch.

  • params
    Identifica le istruzioni con parametri. La definizione params delle variabili viene sostituita per i marcatori di parametro nell'istruzione. params è un parametro obbligatorio che richiede un valore di input ntext, nchar o nvarchar .

    Nota

    Utilizzare una stringa ntext come valore di input se stmt è con parametri e il valore PARAMETERIZED_STMT di scrollopt è ON.

  • statement
    Definisce il set di risultati del cursore. Il parametro statement è obbligatorio e richiede un valore di input ntext, nchar oppure nvarchar.

    Nota

    Le regole per la specifica del valore stmt sono le stesse di quelle per sp_cursoropen, con l'eccezione che i dati di tipo stringa stmt devono essere ntext.

  • options
    Parametro facoltativo tramite cui viene restituita una descrizione delle colonne dei set di risultati del cursore. Per options è necessario il valore di input int seguente.

    Valore

    Descrizione

    0x0001

    RETURN_METADATA

  • scrollopt
    Opzione di scorrimento. scrollopt è un parametro facoltativo che richiede uno dei valori di input int seguenti.

    Valore

    Descrizione

    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

    L'opzione richiesta potrebbe non essere appropriata per il cursore definito da <stmt>, pertanto questo parametro funge sia da input sia da output. In casi di questo tipo, SQL Server assegna un tipo appropriato e modifica questo valore.

  • ccopt
    Opzioni del controllo della concorrenza. ccopt è un parametro facoltativo che richiede uno dei valori di input int seguenti.

    Valore

    Descrizione

    0x0001

    READ_ONLY

    0x0002

    SCROLL_LOCKS (precedentemente noto come LOCKCC)

    0x0004

    OPTIMISTIC (precedentemente noto come OPTCC)

    0x0008

    OPTIMISTIC (precedentemente noto come 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

    Come accade per scrollpt, SQL Server può assegnare un valore diverso da quello richiesto.

  • rowcount
    Parametro facoltativo che indica il numero di righe del buffer di recupero da utilizzare con AUTO_FETCH. Il valore predefinito è 20 righe. rowcount si comporta in modo diverso quando viene assegnato come valore di input rispetto a quando viene assegnato come valore restituito.

    Come valore di input

    Come valore restituito

    Quando viene specificato il valore AUTO_FETCH con i cursori FAST_FORWARD, rowcount rappresenta il numero di righe da inserire nel buffer di recupero.

    Rappresenta il numero di righe nel set di risultati. Quando viene specificato il valore AUTO_FETCH per scrollopt, rowcount restituisce il numero di righe recuperate nel buffer di recupero.

Valori restituiti

Se params restituisce un valore NULL, l'istruzione non è con parametri.

Vedere anche

Riferimento

sp_cursoropen (Transact-SQL)

sp_cursorexecute (Transact-SQL)

sp_cursorprepare (Transact-SQL)

sp_cursorfetch (Transact-SQL)

Stored procedure di sistema (Transact-SQL)