Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
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
Importante
Gli argomenti per le stored procedure estese devono essere immessi nell'ordine specifico, come descritto nella sezione Sintassi. Se i parametri vengono immessi in ordine non corretto, si verifica un messaggio di errore.
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 scrolloptsp_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.