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 relative alla 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.
conteggio righe
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)
Commenti e suggerimenti
https://aka.ms/ContentUserFeedback.
Presto disponibile: Nel corso del 2024 verranno gradualmente disattivati i problemi di GitHub come meccanismo di feedback per il contenuto e ciò verrà sostituito con un nuovo sistema di feedback. Per altre informazioni, vedereInvia e visualizza il feedback per