3. Definición
Es un conjunto de comandos que pueden ser ejecutados directamente en
el servidor, esto quiere decir que será ejecutado por el servidor de Base de
Datos y no por el programa cliente que lo accede, permitiendo así la
ejecución de una acción o conjunto de acciones especificas.
4. Características
Se almacenan en la propia Base de Datos y constituyen un objeto más
dentro de esta.
Tienden a mejorar el rendimiento de los sistemas producto a que reducen
en intercambio entre cliente y servidor.
Los procedimientos almacenados son reutilizables, de manera que los
usuarios mediante la aplicación cliente no necesitan relanzar los
comandos individuales, sino que pueden llamar el procedimiento para
ejecutarlo en el servidor tantas veces como sea necesario.
5. Uso
Si queremos obtener un reporte complejo que incluya instrucciones
condicionales y cálculos complejos con datos obtenidos de varias tablas,
un procedimiento almacenado es nuestro mejor aliado.
Casi siempre las computadoras servidores son poderosas máquinas con
mucha memoria, discos rápidos y uno o más procesadores también muy
rápidos. Por lo tanto, al ejecutar los procesos mediante procedimientos
almacenados estamos aprovechando toda esa capacidad de cómputo
disponible en el hardware del servidor.
6. Ventajas
Ideal para un modelo en capas
Hace el mantenimiento y las actualizaciones mas rápido
Permite hacer optimizaciones en la base de datos sin mucho esfuerzo
7. Tipos
A) DEFINIDOS POR EL USUARIO: que como su nombre lo índica son
creado por los usuarios.
B) PROCEDIMIENTOS ALMACENADOS DEL SISTEMA: que usualmente
comienzan con SP_ y están almacenados dentro de la BD MASTER. Ellos
manejan muchos procesos para la administración del SQL y son escritos
en T-SQL tal como los definidos por el usuario.
C)PROCEDIMIENTOS ALMACENADOS EXTENDIDOS: que usualmente
empiezan con XP_ o SP_ y que también se almacenan en la base de datos
MASTER. No están escritos en T-SQL; de hecho son DLLs compiladas que
añaden un mundo de funcionalidades al SQL Server.