Ver Mensaje Individual
  #8 (permalink)  
Antiguo 25/11/2010, 10:56
Avatar de gnzsoloyo
gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 5 meses
Puntos: 2658
Respuesta: retornar un valor desde un procedure

MySQL no admite recibir menos parámetros de los que el prototipo tiene. Eso significa que no existen en MySQL los parámetros opcionales. Si le pones siete, le tienes que mandar siete.

En el caso que te ocupa, entonces, la idea sería:

Código MySQL:
Ver original
  1. -- --------------------------------------------------------------------------------
  2. -- Routine DDL
  3. -- --------------------------------------------------------------------------------
  4. DELIMITER $$
  5.  
  6. CREATE PROCEDURE `PA_Arribos`(
  7.     xop INT, xidEmpTransport INT,
  8.     xDireccion VARCHAR(150),
  9.     xnumVuelo INT,
  10.     xfechaLlegada DATE,
  11.     xHoraLlegada TIME ,
  12.     xnumPersonas INT,
  13.     OUT xidArribo INT)
  14.     CASE xop
  15.         WHEN 1 THEN
  16.             SELECT MAX(idArribos)+1 FROM arribos INTO xidArribo;
  17.             INSERT INTO arribos(idArribos, idEmpTransporte,Direccion,NumVuelo, FechaLlegada, HoraLlegada, NumPersonas)
  18.             VALUES(xidArribo, xidEmpTransport,xDireccion,xnumVuelo,xfechaLlegada, xHoraLlegada, xnumPersonas);
  19.             SELECT xidArribo;
  20.         WHEN 2 THEN
  21.              SELECT idEmpleado FROM cliente WHERE idEmpleado = 1;
  22.         ELSE
  23.              SELECT 'Operacion no Contemplada' Mensaje;
  24.     END CASE;
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)