Condividi tramite


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_cursorexecuteparametro 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.