Ejecutar procedimientos almacenados

Un procedimiento almacenado es un objeto ejecutable almacenado en una base de datos. SQL Server admite lo siguiente:

  • Procedimientos almacenados:

    Una o más instrucciones SQL precompiladas en un procedimiento ejecutable único.

  • Procedimientos almacenados extendidos:

    Las bibliotecas de vínculos dinámicos (DLL) de C o C++ escritas en la API de Servicios abiertos de datos de SQL Server para los procedimientos almacenados extendidos. La API de Servicios abiertos de datos amplía las capacidades de los procedimientos almacenados para incluir código C o C++.

Cuando se ejecutan instrucciones, llamar a un procedimiento almacenado en el origen de datos (en lugar de ejecutar o preparar directamente una instrucción en la aplicación cliente) puede proporcionar lo siguiente:

  • Rendimiento más alto

    Las instrucciones SQL se analizan y compilan cuando se crean los procedimientos. Esta sobrecarga se reduce después cuando se ejecutan los procedimientos.

  • Sobrecarga de red reducida

    Ejecutar un procedimiento en lugar de enviar consultas complejas por la red puede reducir el tráfico de red. Si una aplicación ODBC utiliza la sintaxis ODBC {CALL} la sintaxis para ejecutar un procedimiento almacenado, el controlador ODBC realiza optimizaciones adicionales que eliminan la necesidad de convertir los datos de parámetros.

  • Mayor coherencia

    Si las reglas de una organización se implementan en un recurso central, como un procedimiento almacenado, se pueden codificar, probar y depurar una vez. De esta forma, los programadores individuales pueden utilizar procedimientos almacenados probados en lugar de desarrollar sus propias implementaciones.

  • Mayor precisión

    Dado que los procedimientos almacenados suelen estar desarrollados por programadores experimentados, tienden a ser más eficaces y a tener menos errores que el código desarrollado varias veces por programadores de diferentes niveles de competencia.

  • Funcionalidad agregada

    Los procedimientos almacenados extendidos pueden utilizar las características de C y C++ disponibles en las instrucciones Transact-SQL.

    Para obtener un ejemplo de cómo llamar a un procedimiento almacenado, vea el ejemplo de procesamiento de códigos de retorno y parámetros de salida, disponible en CodePlex. Vea Ejemplos de motor de base de datos de SQL Server para obtener más información.