sp_cursorexecute (Transact-SQL)

Si applica a:SQL Server

Crea e popola un cursore in base al piano di esecuzione creato da sp_cursorprepare. Questa procedura, associata 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).

Convenzioni di 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 un valore di input int.

cursor
Identificatore del cursore generato da SQL Server. cursor è un parametro obbligatorio che deve essere fornito 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 parametro scrollopt sp_cursorexecuteha 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 parametro sp_cursorexecuteccopt 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 quando assegnato come valore di input rispetto a un valore restituito.

Come valore di input Come valore restituito
Quando AUTO_FETCH viene specificato con il conteggio delle righe FAST_FORWARD cursori rappresenta il numero di righe da inserire nel buffer di recupero. Rappresenta il numero di righe nel set di risultati. Quando si specifica il valore di scrollopt AUTO_FETCH, il conteggio delle righe 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.

Osservazioni:

Parametri scrollopt e ccopt

scrollopt e ccopt sono utili quando i piani memorizzati nella cache vengono annullati per la cache del server, ovvero 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 a 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.

Vedi anche

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