Generar instrucciones en tiempo de ejecución
Actualizado: 5 de diciembre de 2005
La mayor parte de las aplicaciones de Microsoft SQL Server 2005 que necesitan generar instrucciones SQL dinámicamente en tiempo de ejecución lo hacen antes de llamar a una función o método de la API de bases de datos para ejecutar la instrucción. Por ejemplo, una aplicación del lenguaje C que usa ODBC puede generar dinámicamente una o varias instrucciones SQL en una matriz de caracteres y, a continuación, pasar esa matriz a las funciones de ODBC SQLPrepare o SQLExecDirect.
Transact-SQL admite las siguientes formas de generar instrucciones SQL en tiempo de ejecución en las secuencias de comandos Transact-SQL, procedimientos almacenados y desencadenadores:
- Use el procedimiento almacenado del sistema sp_executesql para ejecutar una cadena Unicode. sp_executesql admite la sustitución de parámetros de forma similar a como se realiza en la instrucción RAISERROR.
- Use la instrucción EXECUTE para ejecutar una cadena de caracteres. La instrucción EXECUTE no admite la sustitución de parámetros en la cadena ejecutada.
Nota de seguridad: El uso de la instrucción EXECUTE para ejecutar una cadena facilita los ataques por inyección de código SQL. En su lugar, se recomienda utilizar sp_executesql con parámetros.
Vea también
Conceptos
Otros recursos
Inyección de código SQL
sp_executesql (Transact-SQL)
Ayuda e información
Obtener ayuda sobre SQL Server 2005
Historial de cambios
Versión | Historial |
---|---|
5 de diciembre de 2005 |
|