
25/11/2010, 09:31
|
 | | | Fecha de Ingreso: noviembre-2009
Mensajes: 309
Antigüedad: 15 años, 3 meses Puntos: 4 | |
Respuesta: retornar un valor desde un procedure no estoy seguro si se pueda devolver un dato desde un when del case, pero modifique un tanto mi codigo, y el error esta en el return porque presumo que es incorrecto.
Código:
-- --------------------------------------------------------------------------------
-- Routine DDL
-- --------------------------------------------------------------------------------
DELIMITER $$
CREATE DEFINER=`root`@`localhost` PROCEDURE `PA_Arribos`(xop int, xidEmpTransport int, xDireccion varchar(150), xnumVuelo int,
xfechaLlegada date, xHoraLlegada time , xnumPersonas int, out xidArribo int)
BEGIN
declare xidArribo int;
set xidArribo = (select max(idArribos)+1 from arribos);
case xop
when 1 then
insert into arribos(idArribos, idEmpTransporte,Direccion,NumVuelo, FechaLlegada, HoraLlegada, NumPersonas)
values(xidArribo, xidEmpTransport,xDireccion,xnumVuelo,xfechaLlegada, xHoraLlegada, xnumPersonas);
return (select xidArribo);
when 2 then
select idEmpleado from cliente where idEmpleado = 1;
else
select 'Operacion no Contemplada';
end case;
END
Entonces si yo no puedo retornar los valores que quiero desde el when como hago para devolver xidArribo, ya que en otras operaciones suponen otro tipo de devoluciones... creo que me lie :S |