MySQL - Problema con procedure en mysql

 
Vista:

Problema con procedure en mysql

Publicado por Ursula Osorio (2 intervenciones) el 19/02/2007 19:51:35
Hola, tengo un problema con un procedure, que realiza varios select para obtener los datos para alfinal realizar un select con los datos obtenidos, el proble esta en que el procedure me esta devolviendo el primer select que encuentra y quiero que me devuelva el ultimo. Anexo procedure.
CREATE PROCEDURE `obtener_datos_etiqueta_manual`(v_id_salida INTEGER)
BEGIN
declare v_fecha datetime;
declare v_turno integer;
declare v_id_grupo integer;
declare v_defectos integer;
SET @i=0;
SET @secuencia=0;
SET @id_grupo=0;
SET @fecha='';
SET @turno=0;

CREATE TEMPORARY TABLE numeros(
`posicion` integer null,
`id_salida` integer null
);

SELECT @id_grupo:=s.id_grupo,@fecha:=g.fecha,@turno:=g.turno
FROM pp_salida AS s
JOIN pp_grupos AS g
on s.id_grupo=g.id_grupo
WHERE s.id_salida=v_id_salida;

SELECT v_defectos=0;
if exists(SELECT id_defecto FROM pp_defectos WHERE id_salida=v_id_salida AND id_tipo_defecto not like 'R%') THEN
SELECT v_defectos=1;
END IF;

INSERT INTO numeros
SELECT (@i:=@i+1) AS ROWNUM, s.id_salida
FROM pp_grupos AS g LEFT JOIN
pp_salida AS s USING (id_grupo) LEFT JOIN pp_relacion_entrada_salida AS r
USING (id_salida) LEFT JOIN
pp_entrada AS e using (id_entrada)
WHERE g.fecha=@fecha AND g.turno=@turno AND s.nro_bobina not like 'A%'
AND r.orden_soldadura=0
ORDER BY g.orden asc,s.orden asc,r.orden_soldadura asc;

SELECT (@secuencia:=posicion) FROM numeros WHERE id_salida=v_id_salida;

SELECT g.fecha,
g.turno,
e.nro_programa,
s.nro_bobina,
plb.colada,
s.peso,
pl.id_tipo_temple,
s.id_tipo_recubrimiento,
e.nro_bobina,
pl.orden_ancho,
pl.orden_espesor,
pl.diametro_interno,
pl.id_instalacion,
plb.id_instalacion_destino,
/* @secuencia,*/
pl.orden_cup,
COALESCE(g.ind_estado,10),
ROUND(s.longitud,0),'',
COALESCE(s.ind_aceite,'S'),
ROUND(s.diametro_externo,0),
COALESCE(p.ind_tipo_programa,'N')
/* tr.desc_tipo_recubrimiento,*/
/* v_defectos*/
FROM pp_programas AS p JOIN
pp_programas_lineas AS pl
on p.nro_programa=pl.nro_programa AND p.id_instalacion=pl.id_instalacion AND
p.fecha_programa=pl.fecha_programa
JOIN pp_programas_lineas_bobinas AS plb
on pl.nro_programa=plb.nro_programa AND pl.fecha_programa=plb.fecha_programa
AND pl.id_instalacion=plb.id_instalacion AND pl.linea_programa=plb.linea_programa
JOIN pp_entrada AS e
on plb.nro_programa=e.nro_programa AND plb.id_instalacion=e.id_instalacion
AND plb.fecha_programa=e.fecha_programa AND plb.linea_programa=e.linea_programa AND plb.bobi_key=e.bobi_key
JOIN pp_relacion_entrada_salida AS res on e.id_entrada= res.id_entrada JOIN
pp_salida AS s on res.id_salida=s.id_salida JOIN
pp_grupos AS g on s.id_grupo=g.id_grupo
/* left outer JOIN pp_tipos_recubrimiento_tbf AS tr
on s.id_tipo_recubrimiento=tr.id_tipo_recubrimiento*/
WHERE s.id_salida=v_id_salida;
END
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder