Procedimientos almacenados son conjuntos de instrucciones SQL compiladas que se almacenan en la base de datos y se pueden ejecutar cuando sea necesario. Se usan para agrupar instrucciones SQL y lógica relacionada para realizar tareas. Ofrecen ventajas como reutilización de código, mayor seguridad, menor tráfico de red y mantenimiento más sencillo. Existen diferentes tipos de procedimientos almacenados como temporales, del sistema o definidos por el usuario.
2. Definición
• Es un conjunto de instrucciones de T-SQL, el cual SQL Server compila,
único plan de ejecución, los llamados ´´store procedures´´, están
almacenados en la base de datos y se pueden ejecutar en cualquier
momento.
Figura 1 : https://www.manualsqlserver.com/?p=314
3. Características
• La función de procedimiento almacenado extendido se ejecuta en el
contexto de seguridad Microsoft SQL Server.
• La función de procedimiento almacenado extendido se ejecuta en el
espacio de procesos de SQL Server.
• El subproceso asociado a la ejecución del procedimiento almacenado
extendido es el mismo que se utiliza para la conexión de cliente.
4. Uso
• Se usan para agrupar las instrucciones de T-SQL y cualquier lógica
relacionada que se cree necesaria para llevar a cabo una tarea.
• Retornan un conjunto de resultados, se incluye un parámetro de
entrada que especifique el filtro del resultado.
• Ejecuta instrucciones de programación
• Determina las cifras numéricas que autorizan desarrollar acciones si el
grupo de instrucciones se realiza o no con éxito.
5. Ventajas
• Reutilización del código.
Es optimo el uso del encapsulamiento para la reutilización del código.
Permite ahorrarse el escribir el mismo código, disminuyendo
inconvenientes y permitiendo que el usuario ejecute el código sin tener
acceso a los objetos de referencia.
• Mayor seguridad.
se pueden ejecutar con instrucciones con referencia a los objetos que
el usuario no tiene permiso, facilita la asignación de permisos y tiene
un alto nivel de encapsulamiento
6. • Tráfico de red reducido.
Disminuye el trafico de red cliente servidor ya que solo se envía por
medio de la red llamada.
• Mantenimiento más sencillo.
En los aplicativos se trabaja en base a capas, cualquier cambio que se
haga en la base de datos hace sencillos los procedimientos del objeto.
• Rendimiento mejorado.
se compilan una vez los procesos almacenados creando un plan de
ejecución que se utilizara en las próximas ejecuciones.
7. Tipos
• Procedimientos almacenados temporales.
Los define el usuario, se diferencian entre si por los nombres, la visibilidad
y la disponibilidad.
• Procedimientos almacenados en el sistema.
Son propios de SQL Server, los caracteres iniciales son sp la cual no se
recomienda para los procesos almacenados definidos por el usuario
• Definidos por el usuario.
Lo crea el usuario en las bases de datos definidos por este.
8. • Extendidos definidos por el usuario.
Cuentan con instrucciones externas en un lenguaje como puede ser C
Estos procesos son DDL que una estancia de SQL puede cargar y ejecutar.