Aprende tecnología paso a paso

¿Qué es un Procedimiento Almacenado en SQL?

Un procedimiento almacenado (Stored Procedure) es un conjunto de instrucciones SQL que se guarda dentro de una base de datos para ser ejecutado posteriormente cuando sea necesario.

Los procedimientos almacenados permiten automatizar tareas repetitivas, centralizar la lógica de negocio y mejorar la organización del código SQL.

¿Para qué sirve un procedimiento almacenado?

En muchas aplicaciones es necesario ejecutar las mismas consultas una y otra vez. En lugar de escribir el mismo código repetidamente, se puede almacenar dentro de un procedimiento y ejecutarlo mediante una sola instrucción.

Esto facilita el mantenimiento del sistema y reduce errores en el código.

¿Cómo funciona un procedimiento almacenado?

Un procedimiento almacenado se crea una sola vez dentro de la base de datos. Posteriormente puede ejecutarse tantas veces como sea necesario.

También puede recibir parámetros para trabajar con diferentes valores durante cada ejecución.

Sintaxis básica

CREATE PROCEDURE MostrarClientes
AS
BEGIN
    SELECT * FROM clientes;
END;

Este procedimiento devuelve todos los registros de la tabla clientes.

Ejecutar un procedimiento almacenado

EXEC MostrarClientes;

Al ejecutar esta instrucción, SQL ejecutará automáticamente las consultas definidas dentro del procedimiento.

Ejemplo con parámetros

Una de las ventajas más importantes es la posibilidad de recibir valores de entrada.

CREATE PROCEDURE BuscarCliente
    @Id INT
AS
BEGIN
    SELECT *
    FROM clientes
    WHERE id = @Id;
END;

Para ejecutarlo:

EXEC BuscarCliente @Id = 1;

El procedimiento devolverá únicamente la información del cliente con ID 1.

Ventajas de los procedimientos almacenados

¿Cuándo utilizar procedimientos almacenados?

Ejemplo en una empresa

Una empresa puede utilizar procedimientos almacenados para generar reportes diarios de ventas, calcular comisiones de empleados o actualizar inventarios automáticamente.

De esta forma, la lógica queda almacenada dentro de la base de datos y no es necesario reescribirla en cada aplicación que acceda a la información.

Diferencia entre una consulta y un procedimiento almacenado

Consulta SQL Procedimiento Almacenado
Se ejecuta directamente. Se almacena para reutilizarse.
No suele aceptar lógica compleja. Puede incluir condiciones y parámetros.
Se escribe cada vez que se utiliza. Se crea una sola vez.

Compatibilidad

Los procedimientos almacenados están disponibles en sistemas gestores de bases de datos como SQL Server, MySQL, PostgreSQL y Oracle Database.

Artículos relacionados

Conclusión

Un procedimiento almacenado es una herramienta fundamental para organizar, reutilizar y automatizar tareas dentro de una base de datos. Gracias a su capacidad para almacenar lógica y recibir parámetros, se ha convertido en uno de los recursos más utilizados por desarrolladores y administradores de bases de datos.