Procedimiento almacenado

Definición: ¿Qué significa procedimiento almacenado?

Un procedimiento almacenado es una subrutina disponible para las aplicaciones del sistema de bases de datos relacionales conectadas. Los procedimientos almacenados deben ser llamados o invocados, ya que son conjuntos de comandos de programación y SQL que realizan funciones muy específicas. La mayoría de los principales sistemas de bases de datos relacionales (por ejemplo, SQL Server, Oracle, MySQL, Postgres y otros) brindan soporte para procedimientos almacenados.

Este término también se conoce como proc o storedproc.

Techinfo explica el procedimiento almacenado

Los procedimientos almacenados se utilizan cuando una aplicación necesita realizar una tarea compleja utilizando información de base de datos relacional. Un ejemplo podría ser una solicitud de préstamo para determinar la capacidad de reembolso y la solvencia de un cliente. Para verificar la capacidad de pago del cliente, el oficial de préstamos compara el ingreso mensual promedio del cliente con la suma de retiro mensual de su cuenta durante un período de 24 meses. Para verificar la solvencia, el oficial de préstamos envía la identificación del cliente o el número de seguro social a un sitio web de informes crediticios.

Ambas acciones anteriores son complejas y difíciles de lograr utilizando comandos SQL básicos. Además, el proceso de aprobación del préstamo del cliente puede realizarse en diferentes momentos para diferentes clientes (es decir, la misma acción se repite varias veces), pero con cada acción se asocia diferente información del cliente.

La situación anterior es un ejemplo ideal de cuando se deben usar los procesos almacenados, es decir, cuando se realiza una acción compleja usando una combinación de SQL, Lenguaje de procedimiento / Lenguaje de consulta estructurado (PL / SQL) o lenguaje de programación externo, por ejemplo, Java o C ++. En segundo lugar, la misma acción se realiza repetidamente y los únicos cambios son los parámetros o los datos que se van a procesar.

Los procedimientos almacenados generalmente brindan un beneficio de rendimiento sobre la escritura de código de aplicación, por las dos razones siguientes:

  • No generan comunicación adicional entre programas entre la base de datos y la aplicación externa.
  • No es necesario compilar y ejecutar para cada instancia, ya que los procesos almacenados se compilan solo una vez.

Los procedimientos almacenados se almacenan como parte del diccionario de datos de la base de datos, en lugar de la aplicación que hace referencia a la base de datos. Cuando los procesos almacenados llaman a otros procesos almacenados, esto se conoce como una configuración de procedimientos almacenados anidados.