sp_cursorexecute (Transact-SQL)

Si applica a: sìSQL Server (tutte le versioni supportate)

Crea e popola un cursore in base al piano di esecuzione creato da sp_cursorprepare. Questa procedura, abbinata a sp_cursorprepare, ha la stessa funzione di sp_cursoropen, ma è suddivisa in due fasi. sp_cursorexecute viene richiamato specificando l'ID =4 in un pacchetto TDS (Tabular Data Stream).

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

Sintassi

  
sp_cursorexecute prepared_handle, cursor  
    [ , scrollopt[ OUTPUT ]  
    [ , ccopt[ OUTPUT ]  
    [ ,rowcount OUTPUT [ ,bound param][,...n]]]]]  

Argomenti

prepared_handle
Valore dell'handle di istruzione preparato restituito da sp_cursorprepare. prepared_handle è un parametro obbligatorio che chiama per un valore di input int.

cursor
Identificatore del cursore generato da SQL Server. cursor è un parametro obbligatorio che deve essere specificato in tutte le procedure successive che agiscono sul cursore, ad esempio sp_cursorfetch

scrollopt
Opzione di scorrimento. scrollopt è un parametro facoltativo che richiede un valore di input int. Il sp_cursorexecute scrollopt ha le stesse opzioni di valore di quelle per sp_cursoropen.

Nota

Il valore PARAMETERIZED_STMT non è supportato.

Importante

Se non viene specificato un valore scrollopt, il valore predefinito è KEYSET indipendentemente dal valore scrollopt specificato in sp_cursorprepare.

ccopt
Opzione del controllo della valuta. ccopt è un parametro facoltativo che richiede un valore di input int. Il sp_cursorexecute parametro ccopt ha le stesse opzioni di valore di quelle per sp_cursoropen.

Importante

Se non viene specificato un valore ccopt, il valore predefinito è OPTIMISTIC indipendentemente dal valore ccopt specificato in sp_cursorprepare.

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 se assegnato come valore di input rispetto a un valore restituito.

Come valore di input Come valore restituito
Quando AUTO_FETCH viene specificato con FAST_FORWARD il conteggio delle righe dei cursori rappresenta il numero di righe da inserire nel buffer di recupero. Rappresenta il numero di righe nel set di risultati. Quando viene specificato AUTO_FETCH valore di scrollopt, rowcount restituisce il numero di righe recuperate nel buffer di recupero.

bound_param
Indica l'utilizzo facoltativo di parametri aggiuntivi.

Nota

I parametri dopo il quinto vengono passati insieme sul piano dell'istruzione come parametri di input.

Valore restituito del codice

rowcount può restituire i valori seguenti.

Valore Descrizione
-1 Numero di righe non note.
-n Un popolamento asincrono è attivo.

Commenti

Parametri scrollopt e ccopt

scrollopt e ccopt sono utili quando i piani memorizzati nella cache vengono preempted per la cache del server, vale a dire che l'handle preparato che identifica l'istruzione deve essere ricompilato. I valori dei parametri scrollopt e ccopt devono corrispondere ai valori inviati nella richiesta originale per sp_cursorprepare.

Nota

PARAMETERIZED_STMT non deve essere assegnato a scrollopt.

Se non si riesce a fornire valori corrispondenti, i piani verranno ricompilati impedendo le operazioni di preparazione ed esecuzione.

Considerazioni su RPC e TDS

Per richiedere che vengano restituiti metadati sull'elenco di selezione del cursore nel flusso TDS, è possibile impostare il flag di input RPC RETURN_METADATA su 1.

Vedere anche

sp_cursoropen (Transact-SQL)
sp_cursorfetch (Transact-SQL)
Stored procedure di sistema (Transact-SQL)