TUTORIAL DE STORED PROCEDURE
Posted: jueves, 23 de junio de 2011 by Skuarch in Etiquetas: ejemplo, MYSQL, stored procedure, variables dinamicas
0
En esta entrada explico un stored procedure sencillo este nuevo post sobre stored procedure toma cosas mas complejas como la es crear un select con variables y asi es como empezamos.
La estructura basica para crear un stored procedure es la siguiente
#para el caso de desarrollo siempre tenemos que tener este comando
DROP PROCEDURE IF EXISTS mysp;
DELIMITER //
CREATE PROCEDURE mysp ()
BEGIN
#declaracion de variables y con DEFAULT se inicializan
DECLARE var1 INT DEFAULT 0;
DECLARE var2 VARCHAR(15);
END
//
DELIMITER ;
Para poder crear un select dinamico utilizando variables dentro de este mismo nececitamos crear un string y despues prepararlo para que sea ejecutado, de la siguente forma
SET @qry = CONCAT("SELECT * FROM tabla WHERE id = ", var1);
PREPARATE query FROM @qry;
EXECUTE query;
Con esto podemos crear un select dinamico y puede ser mas complejo.
SET @qry = CONCAT("SELECT algo INTO var2 FROM tabla WHERE id = ", var1);
PREPARATE query FROM @qry;
EXECUTE query;
Entonces nuestro stored procedure quedaria mas o menos asi
DELIMITER //
CREATE PROCEDURE mysp ()
BEGIN
#declaracion de variables y con DEFAULT se inicializan
DECLARE var1 INT DEFAULT 0;
DECLARE var2 VARCHAR(15);
SET @qry = CONCAT("SELECT algo INTO var2 FROM tabla WHERE id = ", var1);
PREPARATE query FROM @qry;
EXECUTE query;
END
//
DELIMITER ;
las variables que tienen @ como @qry son variables de usuario