crear tablas dinamicas con Mysql
Publicado por einer (1 intervención) el 20/10/2011 17:43:46
Hola a todas necesito de vuestra ayuda, hago un store que pueda crear tablas por mes, es decir con un bucle pasarle el dato mes y esta tabbla debera ser cread, el problema es que nose como insertar el mes en el nombre de la tabla creada.
el codigo es el siguiente
DELIMITER $$
DROP PROCEDURE IF EXISTS `comext`.`reportMensual` $$
CREATE PROCEDURE `comext`.`reportMensual` (anio char(4))
BEGIN
DECLARE mes INT;
SET mes=1;
WHILE mes<=12 do
SET mes=cast(mes as char(2));
SELECT ANIO,MES,PARTIDA,PAISDES,
SUM(FOB_DOLAR) AS FOB_DOLPOL,SUM(PESO_NETO) AS PESO_NETO
INTO exp_mes_anio <============== aqui el dilema, intente con exp'+mes+'_'+anio+' y nada
FROM Exp_2008
GROUP BY A.ANIO,A.MES,A.PARTIDA,A.PAISDES
SET mes=CAST(mes AS INT);
SET mes = mes + 1;
end while
END $$
DELIMITER ;
agradezco vuestra ayuda
el codigo es el siguiente
DELIMITER $$
DROP PROCEDURE IF EXISTS `comext`.`reportMensual` $$
CREATE PROCEDURE `comext`.`reportMensual` (anio char(4))
BEGIN
DECLARE mes INT;
SET mes=1;
WHILE mes<=12 do
SET mes=cast(mes as char(2));
SELECT ANIO,MES,PARTIDA,PAISDES,
SUM(FOB_DOLAR) AS FOB_DOLPOL,SUM(PESO_NETO) AS PESO_NETO
INTO exp_mes_anio <============== aqui el dilema, intente con exp'+mes+'_'+anio+' y nada
FROM Exp_2008
GROUP BY A.ANIO,A.MES,A.PARTIDA,A.PAISDES
SET mes=CAST(mes AS INT);
SET mes = mes + 1;
end while
END $$
DELIMITER ;
agradezco vuestra ayuda
Valora esta pregunta


0