Menú

Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menú

Mensajes - efreway

#1

Tengo un procedimiento almacenado el cual deseo ejecutarlo todos los días a las 5:00 de la tarde, investigando logre determinar que se puede programar un evento para poder ejecutarlo.
Me gustaría saber si se coloca el procedimiento almacenado dentro del evento.
Este seria uno de los procedimientos almacenados a colocar dentro del evento:
DELIMITER $$
DROP PROCEDURE IF EXISTS `consultas`.`ventas_ano_mes`$$
CREATE PROCEDURE `consultas`.`ventas_ano_mes`(in vano dec, in vmes dec,in vplanta char(2) )
BEGIN
SELECT * FROM vtasdesde2005 WHERE ANO=vano AND MESANO=vmes and planta=vplanta;
END$$
DELIMITER ;

"CALL ventas_ano_mes(@2008,@1,@'05')"

Al crear el evento se ejecutara automáticamente todos los días sin necesidad de intervención del usuario.

Desde ya gracias.
#2
¿sentencia en MYSQL para dividir cadenas y devolver un recorset que contenga una fila para cada palabra?
hola, como están?
Tengo un campo en mi tabla, el cual quiero separar en varios campos pero conservando el ID al que pertenece.
Algo mas claro:
Mi tabla se llama  TMP_VARIABLES_FORMULA
y tiene la siguiente estructura:
ID       FORMULA
4    [NUMAUDEJE] [TOTAUDPLA]
5    {NUMTOTMETDISP} [NUMMETUSOINMPROP]    
6    [NUMTOTMETDISP] {NUMMETUSOINMCOM} [NUMTOTMETDISP]     [NUMMETUSOINMCOM] {NUMTOTMETDISP} {NUMMETUSOINMCOM}       
7    [NUMTOTMETDISP] [NUMMETUSOINMARR]    
8    [NUMMETARRUSADM] [NUMMETCOMUSADM] [NUMMETPROUSADM]
9    [NUMMETARRUSACAD] [NUMMETCOMUSACAD] [NUMMETCOMUSADM] [NUMMETPROUSADM]

necesito separar de la siguiente manera:
ID             VARIABLE
4                [NUMAUDEJE]
4                [TOTAUDPLA]
........
6                [NUMTOTMETDISP]
6               {NUMMETUSOINMCOM]
6               {NUMTOTMETDISP}
6               [NUMMETUSOINMCOM]
6              {NUMTOTMETDISP}
6              {NUMMETUSOINMCOM
.................
y asi con cada uno de los campos, los resultados se guardarían en otra tabla.
Si notamos la separacion se podria lograr a traves de los espacios en blanco que existen, pero ademas hay que tener en cuenta que la cantidad de palabras es diferente.
Con esta sentencia logra encontrar la cantidad de palabras que existen, a lo cual si se coloca dentro de un ciclo se le colocaria hasta cantidad-1
sentencia:


SELECT (LENGTH(IND.FOR_ID_VAR_O_IND) - LENGTH(REPLACE(IND.FOR_ID_VAR_O_IND,' ',''))+1)

FROM TMP_VARIABLES_FORMULA

*****un ejemplo claro de esto:
El siguiente ejemplo divide una cadena de texto utilizando como delimitador 'espacio' para separar las palabras y devolver un recorset que contiene una fila para cada palabra
select regexp_split_to_table('hola mundo como estas',E'\\s+') as

y el resultado es:
"hola"
"mundo"
"como"
"estas"

pero esto es en postgress pero en mi caso lo necesito para MYSQL exclusivamente, sin tener nada que ver con PHP ni nada, unicamente necesito separar dividir cadenas y devolver un  recorset que contiene una fila para cada palabra pero paramotor de base de datos MYSQL, ya sea con un procedimiento almacenado.
desde ya gracias!