Procedimientos Almacenados
También conocidos como Store Procedure. utilizados principalmente en la programación y una herramienta potente de comunicación con las bases de datos y la gestión de las mismas.
Pasos para crear un procedimiento almacenado:
Lo primero es realizar la consulta completamente y probar que el resultado sea el esperado en dicha consulta.
Para este caso, tendremos en cuenta la siguiente consulta:
select *
from clientes as C
join ventas as V on (C.id = V.clientes_id)
join ventas_productos as VP on (V.id = VP.ventas_id)
join productos as P on (P.id = VP.productos_id)
where
V.fecha between "2023-01-01" and "2023-06-30"
order by V.fecha asc;
El resultado de la consulta es:
El siguiente paso, es identificar los argumentos. Considerando estos como lo que cambia cuando se ejecuta varias veces la misma consulta.
Para este caso seria las dos fechas. Para tal caso se le da un nombre a cada parámetro.
fechaI y
fechaF
Y por ultimo se coloca la estructura del procedimiento almacenado, definiendo los parámetros y copiando la consulta tal cual donde corresponde, y al final reemplazar los valores fijos de las fechas con los nombres asignados a los parámetros.
delimiter $$
create procedure buscar_cliente_por_fecha(
in fechaI Date,
in fechaF Date
)
Begin
select *
from clientes as C
join ventas as V on (C.id = V.clientes_id)
join ventas_productos as VP on (V.id = VP.ventas_id)
join productos as P on (P.id = VP.productos_id)
where
V.fecha between fechaI and fechaF
order by V.fecha asc;
End $$
delimiter ;