lunes, 16 de junio de 2008

Store Procedure - Store Function


Lo interesante de MySql a partir de la v.5 , es posible utilizar los procedimientos almacenados (Store procedure) asi como los (Store function), la diferencia entre estos dos es que el Store function devuelve un valor a diferencia del Store procedure que no lo hace, y la otra diferencia es la forma como se llama a un sp, de una fp.

Un procedimiento almacenado ayuda a realizar operaciones con base de datos de manera mas efectiva y rapida, por que estos procesos se hacen directamente en el servidor de base de datos.


Aqui unos ejemplos:


DELIMITER $$
DROP PROCEDURE IF EXISTS indicadores.sp_ventas$$
CREATE PROCEDURE sp_ventas(anyo char(4))

DETERMINISTIC

BEGIN

Select '0101' as cod_concepto, unoper,concat(anyo,file) as periodo, sum(chabersoles) as acumulado from bd.tabla where tipo='05' and cuenta like '7%' and mes<>'00' group by mes having acumulado>0;

END$$
DELIMITER ;


Este ejemplo recibe un parametro (anyo); y en funcion a eso se ejecuta.

La forma de llamar a un procedimiento almacenado es:

CALL sp_ventas("2007");

y listo.


No hay comentarios: