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 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
. Il parametro prepared_handle è int e non può essere NULL
.
cursor
Identificatore del cursore generato dall'motore di database. 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. Il parametro scrollopt è int, con un valore predefinito .NULL
Il sp_cursorexecute
parametro scrollopt ha le stesse opzioni di valore di sp_cursoropen
.
Il PARAMETERIZED_STMT
valore non è supportato.
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 sp_cursoropen
.
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 usare 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 FAST_FORWARD i cursori, il conteggio delle righe 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 scrolloptAUTO_FETCH , il conteggio delle righe restituisce il numero di righe recuperate nel buffer di recupero. |
bound_param
Indica l'uso facoltativo di parametri aggiuntivi.
I parametri dopo il quinto vengono passati insieme sul piano dell'istruzione come parametri di input.
Valori del codice restituito
rowcount restituisce 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
.
PARAMETERIZED_STMT
non deve essere assegnato a scrollopt.
L'impossibilità di fornire valori corrispondenti comporta la ricompilazione dei piani, negando le operazioni di preparazione ed esecuzione.
Considerazioni su RPC e TDS
Il flag di input RPC RETURN_METADATA
può essere impostato su 1
per richiedere che i metadati dell'elenco di selezione cursore vengano restituiti nel flusso TDS.