sp_cursorexecute (Transact-SQL)
Se aplica a: SQL Server
Crea y rellena un cursor basado en el plan de ejecución creado por sp_cursorprepare. Este procedimiento, junto con sp_cursorprepare, tiene la misma función que sp_cursoropen, pero se divide en dos fases. sp_cursorexecute se invoca especificando id. =4 en un paquete de flujo de datos tabular (TDS).
Convenciones de sintaxis de Transact-SQL
Sintaxis
sp_cursorexecute prepared_handle, cursor
[ , scrollopt[ OUTPUT ]
[ , ccopt[ OUTPUT ]
[ ,rowcount OUTPUT [ ,bound param][,...n]]]]]
Argumentos
prepared_handle
Es el valor de identificador de instrucción preparada devuelto por sp_cursorprepare. prepared_handle es un parámetro necesario que llama a un valor de entrada int.
cursor
Es el identificador del cursor generado por SQL Server. cursor es un parámetro necesario que se debe proporcionar en todos los procedimientos posteriores que actúan sobre el cursor, como sp_cursorfetch
scrollopt
Opción de desplazamiento. scrollopt es un parámetro opcional que requiere un valor de entrada int . El parámetro scrollopt de sp_cursorexecutetiene las mismas opciones de valor que las de sp_cursoropen.
Nota:
No se admite el valor PARAMETERIZED_STMT.
Importante
Si no se especifica un valor scrollopt, el valor predeterminado es KEYSET independientemente del valor scrollopt especificado en sp_cursorprepare.
ccopt
Opción de control de divisa. ccopt es un parámetro opcional que requiere un valor de entrada int . El parámetro sp_cursorexecuteccopt tiene las mismas opciones de valor que las de sp_cursoropen.
Importante
Si no se especifica un valor ccopt , el valor predeterminado es OPTIMISTA, independientemente del valor de ccopt especificado en sp_cursorprepare.
rowcount
Es un parámetro opcional que indica el número de filas del búfer de captura que se van a usar con AUTO_FETCH. El valor predeterminado es 20 filas. rowcount se comporta de forma diferente cuando se asigna como un valor de entrada frente a un valor devuelto.
Como valor de entrada | Como valor devuelto |
---|---|
Cuando se especifica AUTO_FETCH con FAST_FORWARD recuento de filas de cursores representa el número de filas que se van a colocar en el búfer de captura. | Representa el número de filas en el conjunto de resultados. Cuando se especifica el valor scrollopt AUTO_FETCH, rowcount devuelve el número de filas que se capturaron en el búfer de captura. |
bound_param
Indica el uso opcional de parámetros adicionales.
Nota:
Cualquier parámetro después del quinto se pasa como parámetro de entrada al plan de instrucción.
Valor del código de retorno
rowcount puede devolver los valores siguientes.
Valor | Descripción |
---|---|
-1 | Número de filas desconocido. |
-n | Un rellenado asincrónico está en vigor. |
Comentarios
Parámetros ccopt y scrollopt
scrollopt y ccopt son útiles cuando se adelantan los planes almacenados en caché para la memoria caché del servidor, lo que significa que el identificador preparado que identifica la instrucción debe volver a compilarse. Los valores de parámetro scrollopt y ccopt deben coincidir con los valores enviados en la solicitud original para sp_cursorprepare.
Nota:
PARAMETERIZED_STMT no se debe asignar a scrollopt.
Si no se pueden proporcionar los valores correspondientes, se provocará la recompilación de los planes, impidiéndose las operaciones de preparación y ejecución.
Consideraciones sobre RPC y TDS
La marca de entrada RPC RETURN_METADATA puede establecerse en 1 para solicitar que se devuelvan los metadatos de la lista de selección del cursor en el flujo de TDS.
Consulte también
sp_cursoropen (Transact-SQL)
sp_cursorfetch (Transact-SQL)
Procedimientos almacenados del sistema (Transact-SQL)
Comentarios
https://aka.ms/ContentUserFeedback.
Próximamente: A lo largo de 2024 iremos eliminando gradualmente GitHub Issues como mecanismo de comentarios sobre el contenido y lo sustituiremos por un nuevo sistema de comentarios. Para más información, vea:Enviar y ver comentarios de