Ver Mensaje Individual
  #5 (permalink)  
Antiguo 25/11/2010, 09:31
Avatar de Copia
Copia
 
Fecha de Ingreso: noviembre-2009
Mensajes: 309
Antigüedad: 14 años, 5 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